2011-02-23 38 views
2

我有一个窗体小部件和一个FileUpload小部件。 我可以使用文件upolad来更改图像。如何刷新gwt中的图像?

我想在新图像被引用到一个servlet后立即看到已更改的图像。但是,我如何强制图像小部件从服务器获取新图像? (图片的网址不会更改,内容确实如此)。

+1

这是浏览器的一个功能...尝试在图像的URL每次改变时添加某种唯一的字符串(当前时间以毫秒或类似方式进行散列)。 – z00bs 2011-02-23 09:04:00

回答

11

如果你不能/不想改变服务器的URL,则可以选择添加喜欢的查询参数:

version++; 
image.setUrl(url + "?v" + version); 

的查询参数将在服务器上被忽略(除非你想以某种方式使用它),但它会强制重新加载,因为浏览器不知道,如果图像可能是动态生成的。

+0

Worksssss !! :) – 2011-02-23 10:09:35

2

或更好:只需将URL设置为“”,然后回到原始URL。在Chrome中进行测试。

String url = image.getUrl(); 
image.setUrl(""); 
image.setUrl(url); 
+0

这不适用于Firefox,图像不会重新加载。 – 2017-11-16 06:58:51