【发布时间】:2015-09-17 09:39:28
【问题描述】:
好的,这是我的设置:我有一个带有 vb.net 后端的 aspx 内容页面。该页面基本上是一个用户个人资料样式页面。我正在向页面添加照片部分...上传和删除工作正常...从占位符图像开始,用户可以选择一个文件,上传它(然后将其保存在具有用户 ID 的图像子目录中作为文件名),页面会自行重定向(重新加载),之后您可以看到上传的图像。反过来也可以正常工作 - 删除它会删除文件并且页面重新加载并显示占位符图像。
我遇到的问题是,如果他们选择了一个文件,上传它,然后又想更改它。它很好地删除了旧文件,并将新文件保存为 userID.jpg,但是,当我执行 response.redirect 时,仍然显示旧图像。我认为这是因为图像被缓存(因为它具有相同的文件名。)浏览器中的手动刷新设置它正确,但我想避免告诉用户他们需要这样做:/我在 MSDN 上看到有一个 webBrowser.Refresh 方法,但我想我错过了一些东西,因为智能感知给了我那个死亡的曲线,我也试过 server.transfer 没有改变。我试过了……
Response.CacheControl = "no-cache"
Response.AddHeader("Pragma", "no-cache")
Response.Expires = -1
还是不行。我见过的唯一没有探索过的选项是在元标记中添加类似的代码,我见过它可以包含无缓存位,或者过期超时以强制重新加载,但我不知道它会产生不同的结果,这将涉及与许多其他内容页面使用的母版页混在一起......关于如何让这张图片重新加载自己的任何想法?
【问题讨论】:
-
你试过 Response.Cache.SetCacheability(HttpCacheability.NoCache) 吗?
-
是的,抱歉,我忘记了我的清单中的那个,但是是的,这是我找到的第一批作品之一。在页面加载中尝试过,尝试在重定向之前将其另外添加,没有帮助。
标签: asp.net vb.net caching image-processing refresh