2011-04-03 87 views
1

公開可接受base64編碼圖像的基於REST的Web服務的一般方法是什麼?我不確定圖像是InputStream還是ByteArray。我正在使用RESTEasy。我可以將其作爲@FormParamjavax.ws.rs.FormParam)嗎?傳入圖像的常用數據類型是什麼?如何在REST Web服務中接收張貼的圖像

回答

1

首先,您想接收圖像作爲InputStream,因爲它們可能相當大。 (我有一臺能產生1200萬像素圖像的數碼相機,它不是最新的型號,它產生的圖像即使以JPEG格式存儲也只有幾兆字節,你不想讓這種數據混亂的內存超過了)

其次,你可以讓你的web服務接受原始的未編碼數據作爲上傳。它實際上比採用base-64編碼數據更容易(只要你把它作爲一個流),這是一個很好的節省系統帶寬和處理。如果您想要同時發送其他數據,則應考慮處理多部分內容。 (唉,我已經與那部分沒有任何經驗。我們都不需要它,因爲我一直在工作的REST風格的web服務)

第三,圖像將在image/*空間描述爲內容類型,但在實踐中仔細檢查,看看你是否真的得到了。當他們回到客戶端時,您必須將其作爲image/*集之一發回。