Как сохранить и получить данные из поля Postgres Bytea с Laravel?
Я хочу обновить двоичные данные и загрузить их.
Типы файлов - это JPG, Excel, TXT и т. Д. public function store_db( $file, $file_name, $user_id ) {
$file_path = $file->getRealPath();
$new_attachment = Attachment::create([
'name' => $file_name,
'mime' => $file->getClientMimeType(),
'size' => $file->getClientSize(),
'uploaded_data' => pg_escape_bytea(file_get_contents($file_path)),
'created_by' => $user_id,
'updated_by'=> $user_id,
'created_at' => Carbon::now(),
'updated_at' => Carbon::now()
]);
return $new_attachment->id;
< /code>
рядом с данными получить и загрузить (JPG, Excel и т. Д.) < /p>
public function get_attachment( $id ) {
$file = $this->attachmentRepository->findWithoutFail($id);
$dbh = DB::connection()->getPdo();
$stmt = $dbh->prepare("SELECT name, mime, trim(trailing from encode(uploaded_data,'escape')) AS encode_data FROM attachments WHERE attachments.id = :atid");
$stmt->bindParam(':atid', $id);
$stmt->execute();
$result = $stmt->fetch($dbh::FETCH_ASSOC);
$name = $result['name'];
$mime = $result['mime'];
$headers = array(
"Content-Type: {$mime}",
);
$fileData = $result['encode_data'];
$ext = substr($name, strrpos($name, '.') + 1);
file_put_contents($ext , pg_unescape_bytea($fileData));
return response()->download($ext, $name, $headers);
Подробнее здесь: https://stackoverflow.com/questions/497 ... inary-data
Laravel с PostgreSQL, хранить и получить бинарные данные ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1745397723
Anonymous
Как сохранить и получить данные из поля Postgres Bytea с Laravel?
Я хочу обновить двоичные данные и загрузить их.
Типы файлов - это JPG, Excel, TXT и т. Д. public function store_db( $file, $file_name, $user_id ) {
$file_path = $file->getRealPath();
$new_attachment = Attachment::create([
'name' => $file_name,
'mime' => $file->getClientMimeType(),
'size' => $file->getClientSize(),
'uploaded_data' => pg_escape_bytea(file_get_contents($file_path)),
'created_by' => $user_id,
'updated_by'=> $user_id,
'created_at' => Carbon::now(),
'updated_at' => Carbon::now()
]);
return $new_attachment->id;
< /code>
рядом с данными получить и загрузить (JPG, Excel и т. Д.) < /p>
public function get_attachment( $id ) {
$file = $this->attachmentRepository->findWithoutFail($id);
$dbh = DB::connection()->getPdo();
$stmt = $dbh->prepare("SELECT name, mime, trim(trailing from encode(uploaded_data,'escape')) AS encode_data FROM attachments WHERE attachments.id = :atid");
$stmt->bindParam(':atid', $id);
$stmt->execute();
$result = $stmt->fetch($dbh::FETCH_ASSOC);
$name = $result['name'];
$mime = $result['mime'];
$headers = array(
"Content-Type: {$mime}",
);
$fileData = $result['encode_data'];
$ext = substr($name, strrpos($name, '.') + 1);
file_put_contents($ext , pg_unescape_bytea($fileData));
return response()->download($ext, $name, $headers);
Подробнее здесь: [url]https://stackoverflow.com/questions/49700366/laravel-with-postgresql-store-and-get-binary-data[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия