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

标签 javascript html image gwt

我使用 GWT 从我无法控制的服务器加载图像。目前,我使用 GWT new Image( url) 然后使用 ImageHandlers 和 ErrorHandlers 来捕获发生的事情并将图像放入我的缓冲区和 DOM 中。然后我使图像连续可见以激活该过程。但现在我需要更多,我需要知道错误代码,例如服务器为图像返回的 304,我还需要获取 header 响应属性“Last-modified”。对于 304,我知道我需要稍后在服务器创建一个我认为我可以管理的新版本(具有完全相同的 url)时重新提交请求,但是它将有一个新的“最后修改”,我需要知道日期时间。 通过使用 new Image(url),我让浏览器进行加载,但我不知道如何获取加载的详细信息。

Q1:有没有办法从图像中提取更多信息? GWT Image 似乎只是包装了一个 JS 对象。我查看了 Firefox 控制台网络,但也没有看到太多细节。 Last-modified 和错误代码在它进入(或不进入)DOM 树时被遗忘。

如果问题 1 的答案是否定的,则信息已消失或无法访问,..

问题 2:我是否需要停止使用浏览器获取图像并使用 XmlHttpRequest 执行此操作,然后大概我可以访问响应代码和 header 属性。 SOP 不是问题。但是我如何从 Response OutputStream 到 Image 呢?我必须对其进行 Base64 编码还是有更好的方法?图像帮助的其他非 url 构造函数之一,比如 Image(Element) 或 Image(ImageResource)。那么问题就变成了如何将响应流制作成 Element 或 ImageResource?

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

最佳答案

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

关于javascript - 使用 GWT,如何加载图像并访问图像属性和 http 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18688690/

相关文章:

android - 如何从 Android 中的图像文件中检索元数据

javascript - 图片onclick事件的使用方法

javascript - "normal"表单上的 JQuery BlockUI

javascript - 我无法在 Javascript 中生成平滑的 Simplex 噪声

css - 简单加载栏

php - 从 URL 抓取 HEX - PHP

css - SVG 数据图像不能用作伪元素中的背景图像

javascript - 具有动态内容和弹出窗口的自定义 Twitter 按钮

javascript - 将 RegEx 从 JavaScript 转换为 Java

html - 为什么标签上的相对定位会使标签内容对 VoiceOver 屏幕阅读器不可见?