Изображения из базы данных в Asp.Net MVC - PullRequest
2 голосов
/ 12 июля 2009

Я пытаюсь отобразить изображения в моем приложении Asp.Net MVC 1.0.

Я могу успешно получить изображение (в byte[]) из БД.

Как я могу отобразить его в <img>?

Ответы [ 3 ]

5 голосов
/ 12 июля 2009

Возврат FileResult из метода действия:

return File(imageData, "image/png"); 

Обратите внимание, что вывод HTML страницы и изображения должен выполняться двумя отдельными запросами. Вы должны сгенерировать URL для атрибута src для действия, которое возвращает изображение, и в этом действии вы можете вывести содержимое изображения.

2 голосов
/ 12 июля 2009

Это работает ( проверено ):

<img src="<%= Url.Action("ShowImage", "Image", new { Id = imageId }) %>" />
0 голосов
/ 16 октября 2011

SQL не подходит для хранения изображений

Говорит Microsoft, и у них есть все основания для поддержки SQL . Это быстро на вашей машине разработки, но не масштабируется.

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

Если у вас уже есть образы в вашей БД и вы не можете мигрировать, кэширование диска может устранить накладные расходы.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: я являюсь автором этого программного обеспечения

бесплатная библиотека ImageResizing.Net имеет (AGPL / коммерческий) плагин SqlReader , который поддерживает любую схему базы данных и может обслуживать изображения из SQL настолько эффективно, насколько это возможно. Добавьте плагин кэширования диска , и вы вернетесь к производительности и масштабируемости на уровне файловой системы с минимальными усилиями по разработке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...