无法通过apache java上传大文件

时间:2016-10-21 12:46:42

标签: java apache multipartform-data

我使用MultipartEntityBuilder上传文件。只需更改文件路径,我就成功上传了.txt文件,但我无法上传.bin文件。在使用Wireshark进行调查时,我甚至无法看到.bin的POST请求。

以下是关键代码:

HttpPost request = new HttpPost(httpURL);
request.addHeader("Content-Type", "multipart/form-data");
request.addHeader("Accept", "multipart/form-data");

File file = new File(filePath);
FileBody fileBody = new FileBody(file, ContentType.MULTIPART_FORM_DATA);

MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
multipartEntityBuilder.addPart("upgradeFile", fileBody);
multipartEntityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
HttpEntity httpEntity = multipartEntityBuilder.build();

request.setEntity(httpEntity);
CloseableHttpResponse response = httpClient.execute(request);

另外,我尝试将ContentType修改为application/octet-stream,但它没有用。有人会有一些解决方案吗?谢天谢地。

更新

正如我验证的那样,问题不是文件的类型,而是文件的大小。我尝试了一个6Mb的二进制文件,一个37Mb的二进制文件和一个60Mb的二进制文件,只能上传最小的文件。

事实上,我的程序就像一个网站的模拟器。在真实的网站上,我确实可以上传一个大文件,但我不明白为什么我不能参加我的程序。

0 个答案:

没有答案