Asp.net mvc 在上传新图像后,是否尝试使用MVC3/Razor强制刷新最新图像?
我使用的是MVC3、Razor、C#、EF4.1、MSSQL2008 我已经实现了一种将文件上传到web服务器“Uploads”文件夹的机制 我的问题是,当用户返回到“上传”视图时,图像仍然是旧的。这可能与我使用用户组织的PK作为文件名ie 100.png有关。因此,交换图像将产生另一个100.png,即覆盖原始图像。如果我改用GUID,这可以防止大量垃圾文件。然而,浏览器认为没有任何变化,所以我猜,从缓存中加载它 我的代码是:Asp.net mvc 在上传新图像后,是否尝试使用MVC3/Razor强制刷新最新图像?,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,我使用的是MVC3、Razor、C#、EF4.1、MSSQL2008 我已经实现了一种将文件上传到web服务器“Uploads”文件夹的机制 我的问题是,当用户返回到“上传”视图时,图像仍然是旧的。这可能与我使用用户组织的PK作为文件名ie 100.png有关。因此,交换图像将产生另一个100.png,即覆盖原始图像。如果我改用GUID,这可以防止大量垃圾文件。然而,浏览器认为没有任何变化,所以我猜,从缓存中加载它 我的代码是: if (File.Exists(Server.MapPat
if (File.Exists(Server.MapPath("~/Uploads/" + strImageFileName)))
{
<p><img alt="Current Image" src="@Href("~/Uploads/" + strImageFileName)"/> </p>
}
else
{
<p><img alt="Current Image" src="@Href("~/Uploads/NoImageFile.png")"/> </p>
}
if(File.Exists(Server.MapPath(“~/Uploads/”+strImageFileName)))
{
}
其他的
{
}
如果我遇到这个问题,那么轮班刷新通常可以完成这项工作,尽管我希望这是自动的。是否有办法通过代码强制刷新,以便始终显示最新的图像。出于某种原因,我们似乎在Chrome上遇到了更多的问题
想法
提前感谢。与使用AJAX相比,更改链接引用的url似乎是一个轻量级的解决方案 通过添加诸如版本号之类的任意内容。浏览器将使用当前版本更新已兑现的图像
<img alt="Current Image" src="@Href("~/Uploads/" + strImageFileName + Version )"
您可能希望使用操作通过图像的直接url返回图像。如果您还没有这样做。谢谢您的帮助和链接。因此,我将其解析为:+“?ver=“+DateTime.Now.ToString”(“yyyyMMddHHmmss”)