您可能知道,我们在 RC1 版本的 ASP.NET MVC 中有一个名为FileResult的新ActionResult 。
使用它,您的操作方法可以动态地将图像返回到浏览器。像这样的东西:
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 后,我只是不知道在我的操作方法中返回什么。我应该返回 null 还是什么?