【问题标题】:HttpClient upload: Connection reset by peer: socket write errorHttpClient上传:对等方重置连接:套接字写入错误
【发布时间】:2017-03-06 01:29:39
【问题描述】:

我正在使用 apache HttpClient 上传固件文件 (.bin)。当我上传一个大小为 37MB 的此类文件时,我收到一个错误:对等方重置连接:套接字写入错误。我不知道如何解决它。但是当我尝试其他较小的文件(如 .txt 或 .bin)时,没有任何错误。

下面是一些相关代码:

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);

PS:我无法触摸服务器端。

【问题讨论】:

  • 那你解决不了。服务器已关闭连接,显然是基于上传的大小。
  • @EJP 我想是的。但令我困惑的是,服务器有一个官方网页(客户端),我可以从这个网站上传一个大文件,但在我的代码中我不能。

标签: java httpclient multipartform-data


【解决方案1】:

看起来问题出在服务器端 apache/php 配置上。可能服务器管理员应该更改 php.ini 文件中的 upload_max_filesize 和 post_max_size 参数。这是关于 SO 的链接:

PHP change the maximum upload file size

【讨论】:

  • 很遗憾,我无法触摸服务器端。
猜你喜欢
  • 2016-04-12
  • 1970-01-01
  • 1970-01-01
  • 2018-08-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-31
  • 1970-01-01
相关资源
最近更新 更多