Apache HttpClient 不执行第三个请求



我正在使用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

最新更新