【发布时间】:2011-04-13 11:58:50
【问题描述】:
我允许 ASP.NET 网站上的管理人员上传他们自己的图片以显示给该网站的用户。这并不难:只需使用基本的文件上传控件即可:
<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" />
<asp:button id="DoFileUploadBtn" Height="24" runat="server" Text="Upload" onclick="DoFileUploadBtn_Click"></asp:button>
图片以工作人员ID加“.jpg”命名。因此,ID 为 1 的员工的结果图像是 1.jpg。这是使用上面的标签显示的。
有人第一次上传图片时效果很好。但是,如果他们更改图像,则会删除旧图像,正确上传文件并刷新页面。但是,浏览器仍然显示旧图像。我必须手动点击浏览器中的刷新按钮才能显示新图像,因为很明显,浏览器认为此特定页面上名为“1.jpg”的图像必须是它存储的图像。
我做使用带有 NoStore 和 Duration="1" 的 OutputCache 标记来(尝试)确保页面上没有任何内容被缓存但无济于事:
<%@ OutputCache NoStore="true" Duration="1" VaryByParam="none" Location="none" %>
因此问题是:我需要做什么来确保在这种情况下显示 new 图像?我不想重命名图像!有许多地方依赖于以员工 ID 命名的图像。
【问题讨论】:
标签: html file-upload