2017-03-27 12 views
0

アンドロイドを使用してamazon S3バケットにzipファイルをアップロードしようとしています。 AsyncTaskで

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

():しかし、アップロードのために、私が持っている仕様は、

curl --upload-file $uploadFileName $upload_urlコマンド

私が使用して、現時点では午前

を使用して示されています。 このエラーの理由は何があるのプログレスバー上の30から40パーセントのように瞬時に示すいくつかの進展があるが、その後

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

curl --upload-file 

を使用して、それが(サーバー側の人々に応じて)働いていると私は、Androidを使用して、このアップロード機能を実装するため、サーバーへのzipファイルをアップロードする他の方法はあります。

+0

HttpPostの代わりにHttpPutを使用しようとしましたが、これは進行状況バーの100%にアップロードされました。しかし、403 ERRORコードが応答しています。 – ashishdhiman2007

答えて

1

すばらしいGoogleの後、私はそれについていくつかの情報を見つけました。これは、サーバーへのパイプが壊れていることを意味します。つまり、サーバーは接続を閉じます。これは、のファイルアップロードが大きすぎるためです()。ファイルがアップロードには大きすぎないか、他の(おそらくより小さな)ファイルを試してみることができますか?

+0

私はあなたが言ったことを試みました。私はjavax.net.ssl.SSLExceptionを持っています:書き込みエラー:ssl = 0x769c9fc800:システムコール中のI/Oエラー、約4MBの完全なジップでの接続のリセット、HTTP/1.1 403サイズを70KBに減らしたとき禁止。 – ashishdhiman2007

+1

Amazonにアップロードするための正しい地域を設定しましたか?あなたが間違った地域に接続している場合、正しい場所にリダイレクトされます(あなたの現在の接続は終了します) – Murf

+0

私はあなたの意見を理解していますが、私はjsonから受け取るS3アップロードURLを通じてzipをアップロードしています。だからそれはまだ問題ですか? – ashishdhiman2007

関連する問題