我正在开发一个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等。 缓存的东西......但是如何与之抗争...
答案 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());