2012-06-28 97 views
3

我有一個WEBUI(使用html和DOJO)與Web服務進行通信。 WEBUI中所需的數據來自使用REST調用的Java Web服務。從我的Java Web服務發送REST響應(xml)圖像

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

我有一些改進.. 我得到的方法如何在java的xml響應中嵌入圖像。 通過將圖像讀入'BufferedImage',然後將其複製到'ByteArrayOutputStream'並將其包含在我的休息POJO類中。 我不確定這是否有效,以及如何在DOJO UI中呈現相同效果。 – Hebbar

回答

1

我能想到的一件事是Data URL。它允許您以URL形式存儲整個圖像。在客戶端上,您可以插入src="data:image/gif;base64,R0lGOD......<img>標籤,就完成了。

這樣做的缺點是,編碼開銷很大,您將保存請求,但要傳輸的數據更大。我只在CSS文件中使用這種方法來處理小圖標,這是合理的。

但我會再考慮一次。那還有一個要求真的很糟嗎?如果沒有,您可以運行與上述相同的方法,只需使用正常的URL(以防萬一您的圖像可從網絡訪問)。