我正在使用Apache HttpClient执行多部分请求来上传文件,但是在第三个请求之后它不起作用。
这是我的代码:
HttpClient httpClient = HttpClientBuilder.create().build();
Map<String, String> requestParams = new HashMap<>();
requestParams.put("param1", "myrequestparam");
String url = UPLOAD_URL + "?param1=" + myRequestParam;
HttpEntity entity = MultipartEntityBuilder.create()
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
.addBinaryBody("file", file, ContentType.MULTIPART_FORM_DATA, "file")
.build();
HttpPost request = new HttpPost(url);
request.setEntity(entity);
try {
httpClient.execute(request);
} catch (IOException e) {
throw new InternalServerErrorException(e);
}
它多次执行,第一次工作正常,但第三次什么也没发生。
我做错了什么?
尝试调用
EntityUtils.consume(entity)
在代码末尾关闭请求。然后开始下一篇文章。.doc
或者您可以阅读教程pdf