我绘制图表,但我在新页面上看到旧图像

时间:2012-06-06 03:01:36

标签: c# asp.net

我正在开发一个C#web项目。我在本地Web服务器上运行它。 我画画。我将图像显示如下:

bitmap.Save(Server.MapPath("diagram.jpg"), ImageFormat.Jpeg);
Image1.ImageUrl = ResolveUrl("diagram.jpg");

我没有看到新形象。只有旧的,我改变图像名称后 (说,我将diagram.jpg改为diagram2.jpg)。 浏览器是Firefox。 C#中的设计页面很简单。 Just Image和页面上的几个TextBoxes。 没有UpdatePanel等。 缓存的东西......但是如何与之抗争...

4 个答案:

答案 0 :(得分:1)

  

但是如何与之斗争。

始终使用单独的路径/名称。在某个地方抓一个GUID。很简单。不能缓存不同的文件。

答案 1 :(得分:0)

我不确定ResolveUrl做了什么,但尝试在图片网址中添加查询字符串,以便网页始终获得“新鲜”文件。像这样:

Image1.ImageUrl = ResolveUrl(string.Format("diagram.jpg?v={0}", Guid.NewGuid()));

答案 2 :(得分:0)

您可以选择将图像文件写为

diagram.jpg?ver=2

保留相同的图像文件,但强制浏览器更新它。

答案 3 :(得分:0)

如果图像具有相同的名称,则URL浏览器从缓存中选择图像并显示相同图像以便更快地加载页面。

即使您更改了图像服务器端,也会显示相同的缓存图像,直到您清除浏览器的缓存。您可以使用查询字符串来更改图像URL,如下所示。

Image1.ImageUrl = ResolveUrl("diagram.jpg?" + DateTime.Now.Ticks.ToString());