Как вы, возможно, знаете, у нас есть новый ActionResult с именем FileResult в RC1-версии ASP.NET MVC.
Используя это, ваши методы действий могут динамически возвращать изображение в браузер. Примерно так:
public ActionResult DisplayPhoto(int id)
{
Photo photo = GetPhotoFromDatabase(id);
return File(photo.Content, photo.ContentType);
}
В коде HTML мы можем использовать что-то вроде этого:
<img src="http://mysite.com/controller/DisplayPhoto/657">
Поскольку изображение возвращается динамически, нам нужен способ кэширования возвращаемого потока, чтобы нам не нужно было снова считывать изображение из базы данных. Я думаю, что мы можем сделать это с чем-то вроде этого, я не уверен:
Response.StatusCode = 304;
Это говорит браузеру, что у вас уже есть изображение в вашем кэше. Я просто не знаю, что вернуть в моем методе действия после установки StatusCode равным 304. Должен ли я вернуть ноль или что-то еще?