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

sending images in REST response(xml) from my java Web Service

本文关键字:xml 图像 响应 REST Java 我的 Web 服务      更新时间:2023-09-26

我有一个WEBUI(使用html和DOJO),它与Web服务通信。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 渲染相同,请告诉我。

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

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

但我会再考虑一下。再一个要求真的那么糟糕吗?如果没有,您可以运行与上述相同的方法,只需使用普通 URL(以防您的图像可以从 Web 访问)。