替换文件夹中具有相同名称的图像

时间:2009-05-04 16:36:07

标签: c# asp.net vb.net image directory

A。)当我使用代码删除时,让我们说Image123.jpg在文件夹Pics中,我上传另一个图像并将该图像重命名为Image123.jpg并将其放入文件夹Pics由于某种原因新图像显示,但它使用我删除的图像的尺寸。在此处使用Repeater显示图像.................

B。)当我只是复制并过去说Image99.jpg到我的Pics文件夹中,所有准备好都包含一个Image99.jpg当然它会改变原来的。所以由于某种原因它必须被缓存,因为当我运行我的页面时它仍然显示第一个图像。在这里使用普通的图像控制................

为什么要做 A B ........我怎么能绕过这个......问题 A < / strong>对我来说更重要,因为我需要在用户点击“更改徽标”按钮时更改图像名称。

2 个答案:

答案 0 :(得分:3)

浏览器会缓存图像,因此如果您替换图像,则必须更改请求图像查看新图像的网址。

您可以通过以下方式执行此操作:

  1. 更改图片本身的名称。

  2. 向您更改的网址添加查询字符串。

  3. 如果您向网址添加版本号,例如images/Image123.jpg?version=42并在更换图像时增加版本号,浏览器将从服务器请求新图像,因为浏览器根据完整的URL缓存文件,而不仅仅是文件名。

答案 1 :(得分:1)

如果它确实是一个缓存问题,您可以执行以下操作。

编程:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

声明的:

<%@ OutputCache Location="None" VaryByParam="None" %>

通过缓存网页,您可以避免在后续请求中重新创建信息,因此请记住,这可能会对页面加载时间产生负面影响,因为缓存将被禁用。