从我的java Web服务发送REST响应(xml)中的图像

时间:2012-06-28 17:06:50

标签: javascript image rest dojo

我有一个与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呈现相同的内容,请告诉我。

1 个答案:

答案 0 :(得分:1)

我能想到的一件事是Data URL。它允许您以URL形式存储整个图像。在客户端上,您可以使用<img>插入src="data:image/gif;base64,R0lGOD......标记,然后就完成了。

这样做的缺点是,编码开销很大,您将保存请求,但要传输的数据更大。我只在CSS文件中使用这种方法来获取小图标,这是合理的。

但我会再考虑一下。还有一个请求真的那么糟糕吗?如果没有,您可以使用与上面相同的方法,只需使用普通网址(如果您的图片可以通过网络访问)。