【发布时间】:2014-03-01 17:52:01
【问题描述】:
我正在使用 IHttpHandler 在网页上显示存储在 azure blob 中的图像。这工作正常。我还让用户能够旋转图像。旋转图像的代码正在运行。但是,当我尝试向用户显示旋转后的图像时:
document.getElementById("imageControl").src = "/ImageHandler.ashx?container=images&ID=blobFileName;
尽管存储在“blobFileName”中的图像已更改,但页面上显示的图像并未更新。经过反复试验,我发现如果我将旋转的 blob 存储在一个新的文件名下,请说出“blobFileNameRotated”代码:
document.getElementById("imageControl").src = "/ImageHandler.ashx?container=images&ID=blobFileNameRotated;
工作并显示旋转的文件。我假设原始代码不起作用,因为图像已被浏览器缓存?我尝试在几个浏览器中运行代码,发现在 Chrome 中原始代码有效,但仅适用于小文件,而在 IE11 中根本不起作用。
我的问题是如何控制浏览器缓存图像文件的方式(如果这是问题)并强制浏览器重新显示图像,即使我没有更改文件名。我尝试将 src 设置为不同的文件,然后返回到 blob 文件,但没有奏效。
【问题讨论】:
标签: javascript image caching azure blob