Как обслуживать изображение из типа System.drawing.bitmap ( тег?)
-
29-09-2019 - |
Вопрос
Я посылаю растровое изображение в вид в ASP.NET MVC. У меня есть недвижимость в моем просмотре:
public Bitmap TemplateImage { get; set; }
На мой взгляд, я хочу иметь возможность отображать изображение растрового изображения, но я не могу понять, как это сделать.
Решение
Одним из решений было бы создать новое действие, например, это:
public FileContentResult Show(int id)
{
var category = northwind.AllCategories().Single(c => c.CategoryID == id);
byte[] imageByte = category.Picture;
string contentType = "image/jpeg";
return File(imageByte, contentType);
}
и вместо этого отправьте идентификатор для изображения и ссылайтесь на него так:
<img src="<%: Url.Action("Show","Image",new { id = Model.Category.CategoryID }) %>
Другие советы
Поскольку HTTP не предназначен для того, чтобы иметь возможность наполнять данные HTML и двоичного изображения в одном и том же конвейере в одном и том же соединении, это делает передачу данных растрового изображения в вашем представлении бессмысленным. Вы должны найти другой способ, сохранив (возможно, временно) данные растрового изображения и запрашивая их клиент через уникальный URL.