1

TransferUitltyクラスを使用してS3にファイルをアップロードしています。アップロードを一時停止してから再開すると、それ以外はうまくいっています。ファイルは最初からアップロードされており、一時停止した場所からはアップロードされません。TransferUtility S3 resumeが機能しない

この再開方法は、アップロードを再開するか、一時停止した場所から再開するために設計されていますか?

アプリを強制終了しても再開メソッドを使用してアップロードを再開できますか?

CODE:

private void uploadResume(int id,ProgressBar progress,File f,TextView filelength,ImageView updownststatus){ 
    if(sTransferUtility!=null){ 

     sTransferUtility.resume(id); 
     observer= sTransferUtility.getTransferById(id); 

     observer.setTransferListener(new UploadListener(progress, observer,f,filelength,updownststatus)); 
    } 
} 

答えて

0

これはアマゾンS3の仕様です。マルチパートアップロードの場合、アップロードを一時停止して再開できます。 S3 Multipart Upload Overviewを参照してください。 TransferUtilityで100Mbのファイルをアップロードするとします。ファイルは20パートに分割され、それぞれ5MBずつパラレルにアップロードされます。 3つのパートが処理され、3つが処理中のときにアップロードを一時停止します。そして、あなたは後でそれを再開します。 TransferUtilityはアップロードを5MB * 3 = 15MBから継続し、転送には17の部分を持ちます。これは、各パートが完全にアップロードされたか、または破棄されるためです。

+0

部分が完全にアップロードされていない場合、それは再開後に再起動します。パーツが完成すると、そのパーツは再びアップロードされず、残りのパーツがアップロードされ始めます。間欠的に進行中の部分では、一時停止と再開が起こった場合に再起動する必要があります。私はそれを正しく理解しましたか? – sandesh

+0

これは正しいです。不完全な部分は最初から再起動されます。 – Yangfan

+0

各部品のステータスを追跡できますか? aws SDKを使用していますか? – sandesh

関連する問題