我有一个与 Web 服务对话的 WEBUI(使用 html 和 DOJO)。 WEBUI 中所需的数据来自使用 REST 调用的 java Web 服务。
IE (HTML/DOJO) <------ REST CALL(xml response) ----> Java WS on tomcat.
我有一个通话的特定数据
<AllData>
<DataList>
<type>A</type>
<xcoord>20</xcoord>
<ycoord>20</ycoord>
<length>250</length>
<width>350</width>
<imageName>images/myPic.jpg</imageName>
</DataList>
</AllData>
但在这种情况下,如果我有一个数据列表,为了渲染每个图像,我必须再次对我的服务器进行 http 调用。
相反,我开始知道我可以将图像本身嵌入到 REST XML 响应中。
我知道我可以通过 Java 中的 ImageIO
/BufferedImage
类读取图像。但是如果我使用相同的方式发送读取的数据,是否可以在 Dojo 上渲染图像?
如果有任何其他方法可以在 REST 响应(XML 或 JSON)中发送图像并使用 Dojo 渲染相同的图像,请告诉我。
最佳答案
我能想到的一件事是 Data URL .它允许您以 URL 形式存储整个图像。在客户端,您可以插入 <img>
用 src="data:image/gif;base64,R0lGOD......
标记你就完成了。
这样做的缺点是,编码开销很大,你会保存一个请求,但要传输的数据更大。我只在合理的小图标的 CSS 文件中使用这种方法。
但我会再考虑一下。多一个请求真的那么糟糕吗?如果没有,您可以运行与上述相同的方法,只需使用一个普通的 URL(以防您的图像可以从网络访问)。
关于javascript - 从我的 Java Web 服务以 REST 响应 (xml) 发送图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249593/