Apache HttpClientでファイルアップロード

MultipartEntityBuilderでEntityを組み立てる。

ファイルはMultipartEntityBuilder#addBinaryBodyでセットする。

複数ファイルを同じaddBinaryBodyのnameに設定することもできる。その場合、その名前が複数ファイルに関連付けられる。

HttpPost request = new HttpPost("http://localhost:8080");
HttpClient client = HttpClientBuilder.create().build();
HttpEntity entity = MultipartEntityBuilder.create()
    .addBinaryBody("file", file)
    .build();
request.setEntity(entity);
HttpResponse response = client.execute(request);