kiran0624 Ответов: 3

Как вставить изображение в базу данных ?


Я сохраняю изображения в одной папке. теперь я хочу вставить изображения в таблицу базы данных.
это возможно???.

я использую ingress версии 10.0.

Что я уже пробовал:

Сохранение изображений в одной папке проекта.

3 Ответов

Рейтинг:
23

CHill60

Смотрите эту статью To BLOB or Not To BLOB: хранилище больших объектов в базе данных или файловой системе - Microsoft Research[^]

Лично я бы не стал хранить изображения в базе данных - все, что нужно сделать, это очень (очень) быстро заполнить вашу базу данных статическими данными. IMHO лучшим подходом является хранение изображения на сервере и сохранение этого местоположения с именем файла в базе данных. Я также советую избегать явных путей, просто храните путь относительно корневой папки. Я испытал боль от перемещения изображений, где явные пути были встроены в метаданные, - это был не очень приятный опыт.


Рейтинг:
19

MadMyche

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

Изображения большие и будут раздувать вашу базу данных.
В то время как одно изображение может быть только Мб или два, попробуйте сделать SELECT * FROM tImages когда у вас есть несколько тысяч строк. Это не очень симпатичный сайт.

Изображение должно быть восстановлено, чтобы его можно было увидеть
Это означает, что после того, как Вы (наконец) получите байты из базы данных, вам придется использовать поток памяти или какой-либо другой массив байтов, чтобы содержать его и передавать конечному пользователю. Это будет жевать некоторые клещи памяти и процессора.
Если конечный пользователь использует веб-браузер для просмотра этого, то кэширование данных не будет происходить, поэтому каждый раз, когда изображение вызывается, это будет новая поездка клиент-сервер-база данных-сервер-клиент. В отличие от простого клиентского кэша, если это был "физический" файл.

Короче говоря, это кошмарный спектакль. Вы будете использовать больше ресурсов как в базе данных, так и в приложении.
Вы также окажете негативное влияние на другие приложения, вызывающие базу данных. И вы можете также записать любого другого, кто использует сеть, когда эти сгустки данных перемещаются.

Существует очень мало законных потребностей, которые потребовали бы этого.


Рейтинг:
1

mehr.ah

1) обычный вариант: вы можете сохранить адреса изображений в своей базе данных

2) Если вы знаете, зачем они вам нужны в базе данных : вы должны преобразовать свои изображения в растровое изображение и хранить двоичные значения в базе данных