使用GWT,如何加载图像和访问图像属性& http状态代码

时间:2013-09-08 21:11:39

标签: javascript html image gwt

使用GWT我正在从我无法控制的服务器加载图像。目前,我使用GWT new Image( url),然后使用ImageHandlers和ErrorHandlers来捕获发生的事情并将图像放入我的缓冲区和DOM中。然后我让图像可见,以便为过程制作动画。但是现在我需要更多,我需要知道错误代码,例如服务器为图像返回的304,我还需要获得标题响应属性,' Last-modified'。对于304,我知道我需要稍后在服务器创建一个新版本(具有完全相同的URL)时重新提交请求,我认为我可以管理它,但是它将有一个新的' Last-modified&# 39;我需要知道DateTime。 通过使用新的图像(网址),我让浏览器进行加载,但我不知道如何了解负载的细节。

Q1:有没有办法从图像中提取更多信息? GWT Image只是为了包装一个JS对象。我查看Firefox控制台网络,但也没有看到很多细节。在DOM树中获取(或不是)时遗忘了最后修改和错误代码。

如果Q1的答案为否,则信息消失或无法访问,..

Q2:我是否需要停止使用浏览器来获取图像并使用XmlHttpRequest执行此操作,然后我可能会访问响应代码和标头属性。 SOP不是问题。但是,如何将Response OutputStream称为Image?我需要对Base64进行编码还是有更好的方法?将其他非url构造函数用于图像帮助,例如Image(Element)或Image(ImageResource)。那么问题就变成了如何将响应流转换为Element或ImageResource?

注意:这个问题' How to print error message of why image failed to load?'是相关的,但没有得到答案。

1 个答案:

答案 0 :(得分:0)

获取错误代码,并将响应作为流获取必须使用HTTP客户端(GWT has the built in RequestBuilder)完成。您还可以尝试获取错误代码with native JS, using the method described here