在删除图像并保存另一个同名文件(即替换文件)的情况下,我遇到了问题。如下所示:[HttpPost][ValidateAntiForgeryToken]public ActionResult _ReplaceGeneral(int ID, HttpPostedFileBase file){ var dbpath = query.FindImages(ID); var path = Server.MapPath(dbpath.ImageURL); System.IO.File.Delete(path); file.SaveAs(path); TempData["Message"] = "Image Successfully Replaced!"; return RedirectToAction("EditGallery");}在我的服务器中,文件已成功替换。但是,当我启动该站点时,会显示上一个图像。笔记:图像未保存在我的数据库中 - 它保存在我的服务器上,而 URL 存储在数据库中。我可以实际看到服务器中替换的文件,所以我绝对肯定它正在被替换。问题:即使在将图像 A 替换为图像 B 之后,图像 A 如何以及为什么会显示在我的网站上?我一直无法找到任何资源来阐明为什么会出现此问题以及如何发生,因此如果它是重复的,我深表歉意。
1 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
这听起来像是浏览器缓存问题。如果图像的 URL 没有改变,浏览器将使用缓存的版本,而不是从服务器获取图像。
您可以通过获取图像文件上次修改日期/时间将其转换为数字并将其作为查询字符串添加到图像 URL(例如 &t=XXXXX)来解决此问题。这样,当图像文件更改时,URL 也会更改。然后浏览器将加载新图像。
- 1 回答
- 0 关注
- 159 浏览
添加回答
举报
0/150
提交
取消