2016-12-11 2 views
-2

Недавно я разрабатывал веб-сайт с .NET C#, и я пытался отображать изображения через путь к изображениям в db. В настоящее время он работает по этой строке кода.Отображение изображений из базы данных с помощью C# .net

return File(byte array, "image/jpeg"); 

Проблема в том, что этой строкой кода страница макета полностью игнорируется, показывается только изображение с белым фоном. Мне нужно отобразить изображение вместе с обратным видом (изображение внутри макета сайта). thx

ответ

1

Причина, по которой вы ничего не видите, потому что у вас может быть только один ответ на запрос; Либо ответ, содержащий HTML, либо ответ, содержащий изображение.

Что нужно сделать для обслуживания изображений через ваше приложение, настроен маршрут, который можно поместить в ваши теги <img> как атрибут src.

<img src="/static/images/123"> 

Ваш маршрут будет прослушивать запросы на /static/images/ пути, а затем попытаться разобрать идентификационный номер в конце. Затем он может взять идентификационный номер (123) и посмотреть соответствующее изображение в вашей базе данных.

Таким образом, чтобы быть ясным, у вас будет как минимум два запроса; Во-первых, вы обслуживаете запрос на страницу, затем вы обслуживаете последующие запросы для изображений. Эти два обработчика запросов не используют один и тот же код.

Наконец, если вы действительно хотел «инлайн» изображение в качестве части ответа страницы, единственным способом вы можете «инлайн» изображение на странице в base64 закодировать его и установить, что и как в src тега <img>. Этот процесс медленный и раздувает ваш HTML, что заставляет загружать больше времени.

+0

thx плохо дать ему попробовать –

Смежные вопросы