【问题标题】:Replacing images with same names in folders替换文件夹中同名的图片
【发布时间】:2010-10-23 16:17:31
【问题描述】:

A.) 当我使用代码删除 Pics 文件夹中的 Image123.jpg 时,我上传了另一张图像并将该图像也重命名为 Image123.jpg 并将其放入文件夹 Pics 中新图像得到显示,但它使用我删除的图像的尺寸。在这里使用中继器来显示图像........

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

为什么它在做 AB........我该如何解决这个问题.....问题 A 这对我来说更重要,因为当用户单击“更改徽标”按钮时,我需要更改图像名称。

【问题讨论】:

  • 一些代码会有所帮助。我想看看您的中继器控件和处理文件操作的代码

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


【解决方案1】:

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

以编程方式:

Response.Cache.SetCacheability(HttpCacheability.NoCache);

声明式:

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

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

【讨论】:

  • 嗯,谢谢,我想这可能有用,但我不想这样做,因为该网站是针对南非的,而且这里的互联网非常慢!
【解决方案2】:

浏览器会缓存图片,因此如果您更换图片,您必须更改请求图片的 url 才能看到新图片。

您可以通过以下方式做到这一点:

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

  2. 将查询字符串添加到您更改的 url。

如果您在 url 中添加版本号,例如images/Image123.jpg?version=42 并在替换图片时增加版本号,浏览器会向服务器请求新图片,因为浏览器会根据完整的 url 缓存文件,而不仅仅是文件名。

【讨论】:

  • 我将如何在代码中做到这一点 - 添加版本号。
  • 这取决于你的代码是什么样的......你首先如何设置图像的url?
猜你喜欢
  • 2014-11-23
  • 1970-01-01
  • 2011-02-09
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多