代码之家  ›  专栏  ›  技术社区  ›  Mark Brittingham

上传后,我如何使这个图像刷新

  •  1
  • Mark Brittingham  · 技术社区  · 14 年前

    <img src="<%#ImageFile%>" border='0' width="150" alt="" height="150" /> <-- Displays the image
    <br />
    <br />
    Upload Picture: <input id="myFile" type="file" name="myFile" runat="server" size="60" />&nbsp;&nbsp;
    <asp:button id="DoFileUploadBtn" Height="24" runat="server" Text="Upload" onclick="DoFileUploadBtn_Click"></asp:button>
    

    当有人第一次上传一个图像时,它工作正常。但是,如果更改了图像,则会删除旧图像,正确上载文件并刷新页面。但是,浏览器 仍然显示旧图像。 我必须手动点击 刷新

    使用NoStore和Duration=“1”的OutputCache标记(尝试)确保页面上没有任何内容被缓存,但没有效果:

    <%@ OutputCache NoStore="true" Duration="1" VaryByParam="none" Location="none" %>
    

    因此,问题是:我需要做什么来确保 新的

    1 回复  |  直到 14 年前
        1
  •  3
  •   Alohci    14 年前

    最简单、最可靠的方法是将querystring添加到包含版本号的src属性的url中。您可以使用上载图像的日期/时间的编码,或文件系统上图像文件的最后更改日期/时间的编码。

    所以属性应该是

    src="<%#ImageFile%>?v=<%#ImageFileLastChangedDateTime%>"