什么是Java等价的$ curl --upload-file $ uploadFileName $ upload_url

时间:2017-03-27 10:59:59

标签: java android curl amazon-s3

我正在尝试使用android在亚马逊S3存储桶上传一个zip文件。但我上传的规范是使用

显示的

curl --upload-file $uploadFileName $upload_url命令

我现在正在使用:

int TIMEOUT_MILLISEC = 300000;  // = 5 mints
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
HttpClient httpclient = new DefaultHttpClient(httpParams);
HttpPost httppost = new HttpPost(uploadURL);
entity.addPart("uploadedfile", new FileBody((sourceFile), "application/zip"));
httppost.setEntity(entity);
HttpResponse response = null;
response = httpclient.execute(httppost);
HttpEntity r_entity = response.getEntity();

在AsyncTask()中。 立即显示一些进度,如进度条上的30-40%,但随后

javax.net.ssl.SSLException: Write error: ssl=0x7f6f071b80: I/O error during system call, Connection reset by peer

出现此错误的原因是什么。有没有其他方法可以将zip文件上传到服务器,因为使用

curl --upload-file

它正在运行(根据服务器端人员),我想使用Android实现此上传功能。

1 个答案:

答案 0 :(得分:1)

快速推出谷歌后,我发现了一些相关信息。这意味着到服务器的管道坏了;换句话说:服务器关闭连接。这可能是因为文件上传太大。你能否验证该文件对于上传来说不是太大或者尝试其他一些(可能更小的)文件?