为了账号安全,请及时绑定邮箱和手机立即绑定

文件 A 在服务器上替换为 B,但显示文件 A

文件 A 在服务器上替换为 B,但显示文件 A

C#
温温酱 2021-06-17 17:15:50
在删除图像并保存另一个同名文件(即替换文件)的情况下,我遇到了问题。如下所示:[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 也会更改。然后浏览器将加载新图像。


查看完整回答
反对 回复 2021-06-26
  • 1 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信