In images management page of my back office, all the uploaded images are displayed in it.
But when i upload a new image with the same name for a existing image, the new uploaded image doesn't show immediately in IE 8 and 7(not tested in ie9).
I have to press "ctrl+F5" to clear the browser cache to display it.
Here is my code:
if (File.Exists(Server.MapPath(filePath))) File.Delete(Server.MapPath(filePath)); if (!File.Exists(Server.MapPath(filePath))) file.SaveAs(Server.MapPath(filePath));I've tried to clear the browser cache with the following code:
// Stop Caching in IE Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); // Stop Caching in Firefox Response.Cache.SetNoStore();But it seems it doesn't work for this case, even if the code solved my browser cache problem recently.
So i have to make it alternatively.
I forced it to load the image with a GUID id.
imagePath = imagePath + "?id=" + Guid.NewGuid();
So even the image in browser cache has the same name with my newly uploaded image, the application will find the new image. In this way, the new image will be displayed immediately.
本文解决在IE8和IE7浏览器中上传相同名称图片后,新图片无法立即显示的问题。通过修改代码逻辑,使用GUID为图片路径添加唯一标识,确保即使浏览器缓存存在相同名称的图片,应用也能找到并加载新的图片。
9999

被折叠的 条评论
为什么被折叠?



