Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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
C# 如何在不按F5的情况下使缓存映像过期?_C#_Html_Asp.net Mvc - Fatal编程技术网

C# 如何在不按F5的情况下使缓存映像过期?

C# 如何在不按F5的情况下使缓存映像过期?,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,我正在用MVC4和C制作一个web应用程序 我允许用户上传他们的个人资料图片的图像。此时,我需要上一个配置文件图片过期,以便在浏览器重新加载页面时显示新图像。目前,由于两个图像共享相同的名称,浏览器使用已缓存的前一个图像而不是新图像 如果我强制浏览器使用F5重新加载,它将显示新图像。如何确保返回其配置文件页面的用户在不点击F5的情况下看到新图像而不是浏览器缓存中的图像?您可以在图像文件名的末尾添加一个伪参数。比如说, <img src="...\avatar.jpg?d=7615833"&

我正在用MVC4和C制作一个web应用程序

我允许用户上传他们的个人资料图片的图像。此时,我需要上一个配置文件图片过期,以便在浏览器重新加载页面时显示新图像。目前,由于两个图像共享相同的名称,浏览器使用已缓存的前一个图像而不是新图像


如果我强制浏览器使用F5重新加载,它将显示新图像。如何确保返回其配置文件页面的用户在不点击F5的情况下看到新图像而不是浏览器缓存中的图像?

您可以在图像文件名的末尾添加一个伪参数。比如说,

<img src="...\avatar.jpg?d=7615833">


其中数字为随机数或时间戳。它将被忽略,但存在将强制浏览器重新加载图像。

在服务器上存储图像时,在文件名中添加(静态)随机文本,并在图像更改时重新生成。这样,浏览器将在图像相同时缓存图像,并在图像更改时重新加载图像,从而在不增加不必要的页面加载时间的情况下提供所需的行为。

更改名称如何?+谷歌搜索
,如果修改自
为什么不使用
无缓存
?Random parameter很难看如果他想防止图像重新加载,他不是每次都必须添加相同的数字吗?也许可以使用文件的更改日期或其内容的散列。No-cache是“正确”的方式,但我发现浏览器非常顽固地拒绝按照说明进行缓存/不缓存。图像url上的标记既快又脏,但可行。Niko是对的,一个随机数会在每次显示时强制重新加载;一些可复制的东西更好,比如文件创建时间,或者一个简单的版本计数器。