0

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

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

我没有看到新的图像。只有旧的,我在更改图像名称后拥有(例如,我将 diagram.jpg 更改为 diagram2.jpg)。浏览器是火狐。C# 中的设计页面很简单。页面上只有图像和几个文本框。没有 UpdatePanel 之类的。有缓存的东西......但是如何与之抗争......

4

4 回答 4

1

但如何与之抗争。

始终使用单独的路径/名称。在某处 Pug 一个 GUID。就这么简单。不能缓存不同的文件。

于 2012-06-06T03:15:27.627 回答
0

您可以将图像文件替代为

diagram.jpg?ver=2

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

于 2012-06-06T03:26:41.217 回答
0

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

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

Image1.ImageUrl = ResolveUrl("diagram.jpg?" + DateTime.Now.Ticks.ToString());
于 2012-06-06T03:34:49.910 回答
0

我不确定是什么ResolveUrl,但尝试将查询字符串添加到图像 url,以便页面始终获得“新鲜”文件。像这样的东西:

Image1.ImageUrl = ResolveUrl(string.Format("diagram.jpg?v={0}", Guid.NewGuid()));
于 2012-06-06T03:25:41.543 回答