Как хранить картинку в БД?

Подскажите пожалуйста как хранить картинку в БД MySQL? И как ее отправлять в БД и вытаскивать оттуда. Может знаете какие туториалы по данной тематике. Создаю web-приложение для ресторана. Картинки это будут фотографии блюд. Back буду делать на Node.js.


Ответы (3 шт):

Автор решения: Михаил Лелякин

Мой совет - никак :) Лучше всего хранить в БД текстовые данные и ссылки на картинки и прочие файлы. Для их хранения лучше всего воспользоваться другим решением. Например загружать их на Amazon S3.

→ Ссылка
Автор решения: Aziz Umarov

Не самая гениальная идея, но вам нужно использовать тип

  1. TINYBLOB 255 bytes = 0.000255 Mb
  2. BLOB 65535 bytes = 0.0655 Mb
  3. MEDIUMBLOB 16777215 bytes = 16.78 Mb
  4. LONGBLOB 4294967295 bytes = 4294.97 Mb = 4.295 Gb

для полей с данными файлов

→ Ссылка
Автор решения: Faraday

Вообще картинки в БД лучше не хранить. Но бывают исключения - иконки, и то, если они мало весят... Ну и от подхода написания проекта зависит. Один из лучших способов, это хранить иконки/картинки в формате base64. Т.е., если это иконка какого-то юзера, у него будет примерно вот така структура:

Login: string,
Email: string,
Password: string,
Active: bool,
IconBase64: string

Соответственно, в БД тип колонки так же будет string. Как преобразовать картинку в base64 может быть эта статья или подобные по запросу

→ Ссылка