Как мне получить растровое изображение для отображения в MVC 2 - PullRequest
2 голосов
/ 23 декабря 2010

Я довольно новичок в MVC 2 и буду благодарен за любую помощь.

В моей базе данных есть поле для миниатюры, которое хранится как System.Drawing.BitMap.

У меня есть частичное представление, которое необходимо для генерации изображения в формате HTML.

Я видел ссылки на FileResult, но это контроллер. С привязкой к модели, как вставить изображение в сгенерированную HTML-страницу из частичного представления?

Не уверен, нужен ли мне какой-нибудь тег "image" в моем html или в каком формате должны быть данные из частичного представления, чтобы он отображал миниатюру?

JD

1 Ответ

8 голосов
/ 23 декабря 2010

Вам необходимо иметь действие контроллера, которое возвращает FileStreamResult, а затем использовать тег <img>, указывающий на это действие контроллера.

public ActionResult Image(int id)
{
    byte[] imageData = GetImageFromDb(id);
    return File(imageData, "image/jpeg");
}

И затем внутри вашего представления:

<img src="<%: Url.Action("image", new { id = Model.ImageId }) %>" alt="some image" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...