2016-06-28 29 views
0

如何通過Rest API接收圖像文件。有一個MULTIPART_FORM_DATA選項,看起來它會像在多個請求中一樣發送文件。 我想在服務器上非常快地接收圖像。每秒約2幅圖像。通過休息接收圖像文件Api

+0

請看看這個[幫助頁](http://stackoverflow.com/help/how-to-ask)關於如何提出一個好問題:你的問題太模糊了,並沒有提供任何示例你所嘗試過的。 – DenisGL

+0

使用base64格式 – CSK

+0

Thanks @CSK base64原來是一個不錯的選擇。 – sunder

回答

1

只需閱讀File中的圖像並使用Response類構建響應。

Response.ok(new File("myimage.jpg"), "image/jpeg").build(); 

還有其他的變化。

使用以下內容閱讀圖像。

URL url = new URL("http://localhost:8080/myimage/1"); 
URLConnection connection = url.openConnection(); 

input = connection.getInputStream(); 
byte[] buffer = new byte[1024]; 
int n = - 1; 

OutputStream fos = new FileOutputStream("Output.jpg"); 
while ((n = input.read(buffer)) != -1) 
{ 
    fos.write(buffer, 0, n); 
} 
fos.close(); 

您可以使用Apache HTTP客戶端使它更漂亮。

+0

我想在服務器端接收圖像。 我打算使用@FormDataParam。有沒有其他有效的方法。 – sunder

+0

您只需使用HTTP客戶端下載文件。沒有什麼不同於閱讀一個簡單的'輸入流' – 11thdimension

+0

@sunder,我想你想調用一個REST API,上傳圖像@ FormDataParam是沒問題的。 – 11thdimension