我有一个与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呈现相同的内容,请告诉我。
答案 0 :(得分:1)
我能想到的一件事是Data URL。它允许您以URL形式存储整个图像。在客户端上,您可以使用<img>
插入src="data:image/gif;base64,R0lGOD......
标记,然后就完成了。
这样做的缺点是,编码开销很大,您将保存请求,但要传输的数据更大。我只在CSS文件中使用这种方法来获取小图标,这是合理的。
但我会再考虑一下。还有一个请求真的那么糟糕吗?如果没有,您可以使用与上面相同的方法,只需使用普通网址(如果您的图片可以通过网络访问)。