Как отобразить фото в программе WPF C# из базы данных

Как отобразить фото,
есть база mysql или mssql, и как лучше фото хранить в поле image или хранить ссылку на фото, которое хранится на сервере, если ссылку, то как тогда изменять/добавлять фото и загрузить его...?

1 ответов


Лучше хранить ссылку на фото.
Потом просто ссылку передавать как Source для элемента Image (не забываем, что Source жрёт ссылки в виде объектов класса System.Uri).

Можно и непосредственно пихать в базу, но это не есть хорошо по двум причинам:

  • Вам придётся озаботиться конвертацией из бинарного формата в формат, удобный декодеру (jpeg, png, wdp, gif), это нелегко. Либо придётся вручную выкачивать файл, сохранять, загружать - слишком накладно, нежелательное обращение к диску
  • Гонять такие большие бинарные данные туда-сюда через СУБД не есть хорошо, проседает производительность. Это можно делать, для этого есть блобы, но хранение изображений - явно не та ситуация.


В БД хранится массив байтов . Его можно считать и отдать в Bitmap.FromStream(Stream stream);