2016-06-28 13 views
0

Rest APIを使用して画像ファイルを受信する方法。 MULTIPART_FORM_DATAというオプションがあります。このオプションは、複数のリクエストのように部分的にファイルを送信するようです。 サーバー上で非常に高速な画像を受信したいと考えています。 1秒あたり約2枚の画像。残りの画像ファイルを受信します。Api

+0

この[ヘルプページ](http://stackoverflow.com/help/how-to-ask)をご覧になって、良い質問をする方法を教えてください:あなたは質問があまりにも曖昧であり、例を提供していませんあなたが試したことの – DenisGL

+0

base64フォーマットを使用 – CSK

+0

ありがとう@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クライアントを使用するだけです。単純な 'inputstream'を読むことと何も変わりはありません。 – 11thdimension

+0

@sunder、あなたはREST APIを呼びたいと思っていました。画像をアップロードするために' @ FormDataParam'は問題ありません。 – 11thdimension

関連する問題