Возможно ли отправить в бд через sql запрос в формате BLOB, heic изображения?

Ссылка скопирована
1 ответ

у меня есть кроссплатформенный сайт на php, так вот и юзеры после регистрации заполняют свои профили, и ставят Аватарки(обязательно), так вот в longblob летят картинки в jpg, jpeg, png формате, и если подумать о юзерах, которые с мобилки, допустим у них iOS система и при съёмке картинки сохраняются в формате heic, а при отправке в бд, происходит две вещи, на выбор так скажем, либо картинка не прилетает в бд(пусто )и отображается placeholder image либо прилетает но так же отображается placeholder image, так вот может есть какие то способы, и кстати, если насчёт интегрированных конвертерах при загрузке картинок, тоже задумывался, но мне не надо сохранять файлы в папке даже временные все должно лететь в блоб

Дополнительно:

ну бери что-то типа https://github.com/MaestroError/php-heic-to-jpg и коевертируй

Ответы:

Самое отвратительное из известных решений. В БД храним путь к файлу и любые мета данные. Файл лежит в файловой системе. Там его и конвертируем в любой удобный формат и разрешение. Никаких полумер. Картинкам в БД не место.

  • я сделал так, потому что картинки при попытке сохранить в папке допустим uploads летят в папку не ospanel/domains/project а в ospanel/userdata
  • Bvivg, проблема XY. Вот вы сами и нашли источник проблемы. Вы уже на полпути к решению.:)
  • Bvivg,

    я сделал так, потому что картинки при попытке сохранить в папке допустим uploads летят в папку не ospanel/domains/project а в ospanel/userdata

    Ахренеть решение. "Я не нашел хлеба, по этому намазал паштет на торт"...

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Юрий Linux Ответ

Да, возможно отправить heic изображения в базу данных через SQL запрос в формате BLOB. HEIC (High Efficiency Image Format) - это формат изображения, который обеспечивает более эффективное сжатие и качество изображения, чем JPEG.

Для того чтобы отправить heic изображение в базу данных, вам необходимо сначала прочитать файл изображения и преобразовать его в бинарные данные, которые можно сохранить в столбец типа BLOB в таблице базы данных.

Пример SQL запроса для отправки heic изображения в базу данных:

INSERT INTO images_table (image_blob) VALUES (LOAD_FILE('path/to/your/image.heic'));

INSERT INTO images_table (image_blob) VALUES (LOAD_FILE('path/to/your/image.heic'));

Где `images_table` - название таблицы, в которую вы хотите сохранить изображение, `image_blob` - название столбца типа BLOB, а `'path/to/your/image.heic'` - путь к вашему heic изображению.

Не забудьте, что перед выполнением этого SQL запроса вам нужно убедиться, что ваше изображение находится в подходящем формате и что ваша база данных поддерживает хранение BLOB данных.

Также рекомендуется использовать подготовленные запросы для безопасной передачи данных в базу данных, особенно если вы получаете путь к файлу из внешнего источника.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно