ASP.NET上传图像后刷新页面

时间:2008-11-30 06:49:29

标签: asp.net caching uploading

我有一个ASPX页面,我在服务器端按钮点击事件上将图像上传到服务器。在我的页面中,它将显示可用的图像(如果存在)。当我上传图片时,它将用新图片替换旧图片。现在上传后,同样的图像也会显示出来。怎么解决这个问题?我使用window.location.reload()javascript函数刷新,但后来它无法正常工作。它再次发布页面。

这是我的代码

    Do UploadImage(studentId,mode);  // Function to upload image
    StringBuilder sbc = new StringBuilder();

    sbc.Append("<script language='javascript'>");
    sbc.Append("alert('Upload process completed successfully!');");
    sbc.Append("window.location.reload()");
    sbc.Append("</script>");
    HttpContext.Current.Response.Write(sbc);

4 个答案:

答案 0 :(得分:2)

您的浏览器可能正在缓存图片。禁用图像上的缓存或设置正确的缓存响应。

答案 1 :(得分:2)

它正在浏览器中缓存。要克服这一点 - 改变图像的网址。这可以通过在图像文件名中包含时间戳,版本号或guid来完成。

答案 2 :(得分:0)

您可以从服务器端重新加载

Response.Redirect(Request.URL)

答案 3 :(得分:0)

调试此问题的有用工具是fiddler。正如其他人已经建议的那样,浏览器可能会缓存旧版本的图像。如果您使用的是IIS,则可以更改缓存策略,以便浏览器始终检查映像的较新版本。