Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在上传新图像后,是否尝试使用MVC3/Razor强制刷新最新图像?_Asp.net Mvc_Asp.net Mvc 3_Razor - Fatal编程技术网

Asp.net mvc 在上传新图像后,是否尝试使用MVC3/Razor强制刷新最新图像?

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

我使用的是MVC3、Razor、C#、EF4.1、MSSQL2008

我已经实现了一种将文件上传到web服务器“Uploads”文件夹的机制

我的问题是,当用户返回到“上传”视图时,图像仍然是旧的。这可能与我使用用户组织的PK作为文件名ie 100.png有关。因此,交换图像将产生另一个100.png,即覆盖原始图像。如果我改用GUID,这可以防止大量垃圾文件。然而,浏览器认为没有任何变化,所以我猜,从缓存中加载它

我的代码是:

    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”)