【发布时间】:2012-11-06 04:47:42
【问题描述】:
我想知道图像是否在使用 GWT 一段时间后被修改过。我发现设置 If-Modified-Since http 标头可能有效,所以我尝试像 in this post 那样设置:
RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, "http://www.site.com/pic1.jpg");
rb.setHeader("If-Modified-Since", "Sat, 17 Nov 2012 16:17:00 GMT");
Request r = rb.sendRequest(null, new RequestCallback() {
public void onResponseReceived(Request request, Response response){
int i = response.getStatusCode();
...
}
public void onError(Request request, Throwable exception){
...
}
});
问题是我得到一个等于 0 的状态码。你能告诉我我做错了什么吗?这是了解服务器上的文件是否已被修改的好方法,还是有其他使用 GWT 的方法?谢谢。
【问题讨论】:
-
嗯,状态码0听起来像是同一个主机限制?图像是否与 GWT 代码启动在同一台服务器上?
-
问题是图像实际上在不同的服务器上。刚看了something about SOP,还是不知道怎么解决。
-
我假设您想避免下载未更改的图像?否则,您可以将旧图像和新图像绘制到画布上并比较图像数据……但这会很慢。而且我不确定绘制外部图像是否会阻止访问像素数据......在规范中没有找到任何关于此的内容。
标签: java gwt if-modified-since