Как обслуживать изображение из типа System.Drawing.Bitmap (тег <img>?) - PullRequest
2 голосов
/ 12 октября 2010

Я отправляю растровое изображение в представление в ASP.NET MVC.У меня есть свойство в моей ViewModel:

public Bitmap TemplateImage { get; set; }

В моем представлении я хочу отображать это растровое изображение, но не могу понять, как это сделать.

Ответы [ 2 ]

3 голосов
/ 12 октября 2010

Одним из решений было бы создание нового действия, такого как:

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  }) %>
0 голосов
/ 12 октября 2010

Поскольку HTTP не предназначен для того, чтобы иметь возможность вставлять как данные HTML, так и двоичные изображения в один и тот же конвейер в одном соединении, это делает передачу растровых данных в ваш View бессмысленной.Вы должны найти другой путь, сохранив (возможно, временно) данные растрового изображения и попросив клиента запросить их по уникальному URL.

...