我有一个ImageController类被调用来从数据库中检索图像。结果通过使用属性[OutputCache]。
存储在缓存中这是控制器:
[OutputCache(Duration=3600,VaryByParam="name")]
public ActionResult Show(string name)
{
var imageByte = retrieveByteFromDatabase(name);
if(imageByte != null && imageByte.Length > 0)
{
return File(imageByte, "image/png");
}
}
然后在视图中,它就像这样访问:
<img class="image" src="@Url.Action( "show", "image", new { name = "Image.png" })" />
现在,这是用户上传到数据库的图像,需要在上传其他图像时从缓存中删除。它上传了这个:
[HttpPost]
public ActionResult UploadImage(HttpPostedFileBase file)
{
uploadToDatabase(file);
return RedirectToAction("Index", "Home");
}
与视图......
@using (Html.BeginForm("UploadImage", "Image", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="logo" />
<button class="button" type="submit">Upload</button>
}
上传新图片后,是否可以从缓存中删除这一张图片?如果是这样 - 怎么样?
谢谢!