【问题标题】:image using .ashx使用 .ashx 的图像
【发布时间】:2009-06-18 11:06:56
【问题描述】:

我正在使用 .ashx 检索图像,并将图像放在 ajax 更新面板中,当将新图像添加到表单时,它会检索图像,但是当我们更改图像时,它不会更新图像,它甚至不会调用 .ashx 文件,但是当我刷新浏览器时它可以正常工作

【问题讨论】:

    标签: image asp.net-ajax ashx


    【解决方案1】:

    听起来像是缓存问题。尝试将找到的一些行 here 添加到您的 ashx 文件中,它应该有望强制浏览器重新请求图像。 (我知道该链接是针对 ASP 而不是 ASP.NET,但是像 Response.Expires = -1 这样的东西应该可以工作)

    或者,您可以在更新面板中更改图像的路径吗?如果您只是在其末尾添加一个随机参数,浏览器会将其视为新请求(我们在执行此操作时使用当前日期/时间作为参数。ASP.NET 将忽略该参数,除非您明确引用它)

    【讨论】:

    • 我同意!你可以通过添加响应头来解决这个问题。
    【解决方案2】:

    做这样的事情:

    var sPath = "../../handlers/ProcessSignature.ashx?type=View&UserID=" + userID + "&d=" + (((1 + Math.random()) * 0x10000) | 0)。 toString(16).substring(1);

    这会将 4 个字符的字母数字字符串放在查询字符串的末尾。这不是必需的,但它会强制浏览器选择该图像的最新版本,因为 URL 不同。

    我尝试了上述方法,但某些浏览器会忽略标题。我把所有这些都扔进去了,Chrome/FireFox 3 没有尝试更新。

    IE7 有时可以工作

    IE6 只是摆弄着它的拇指,问它为什么还存在。

    更改上面的路径将在所有浏览器中修复它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多