httpClient 文件上传

原创
2016/03/20 15:32
阅读数 256
CloseableHttpClient httpclient = HttpClients.createDefault();
HttpPost httpPost = new HttpPost("http://localhost:8081/fileManage/fileUpload/imageFileUploadTwo");
File file = new File("/Users/liushuaic/Desktop/屏幕快照 2016-01-08 17.04.33.png");
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
//设置请求模式,不清楚。具体的作用, 有知道的说一下啊。
builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
//设置提交的文件
builder.addBinaryBody("files", file, ContentType.DEFAULT_BINARY, file.getName());
//设置一起提交的,key:value
builder.addTextBody("fileGroup", "headImage");
//设置编码格式
Charset charset=Charset.forName("utf-8");
builder.setCharset(charset);
//创建一个 数据对象(表单)
HttpEntity entity = builder.build();
//设置 发送的数据对象
httpPost.setEntity(entity);
System.out.println("Executing request " + httpPost.getRequestLine());
// Create a custom response handler
ResponseHandler<String> responseHandler = new ResponseHandler<String>() {
public String handleResponse(final HttpResponse response) throws ClientProtocolException, IOException {
  int status = response.getStatusLine().getStatusCode();
  if (status >= 200 && status < 300) {
   HttpEntity entity = response.getEntity();
   System.out.println(entity.toString());
   return entity != null ? EntityUtils.toString(entity) : null;
  } else {
   throw new ClientProtocolException("Unexpected response status: " + status);
  }
 }
};
String responseBody = httpclient.execute(httpPost, responseHandler);

 

 

展开阅读全文
打赏
1
7 收藏
分享
加载中
更多评论
打赏
0 评论
7 收藏
1
分享
返回顶部
顶部