TransferUtility S3简历不起作用

时间:2016-05-16 17:52:03

标签: android amazon-web-services amazon-s3 awss3transferutility

我正在使用TransferUitlty类将文件上传到S3。除了暂停上传并恢复之后,一切都很顺利。该文件从头开始上传,而不是从我暂停的位置上传。

  

此恢复方法是否设计用于重新启动上载或从暂停的位置恢复?

     

即使杀死应用后,我还可以使用简历方法恢复上传吗?

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

2 个答案:

答案 0 :(得分:0)

这是由Amazon S3设计的。如果是分段上传,您可以暂停和恢复上传。请参阅S3 Multipart Upload Overview。假设你上传了一个带有TransferUtility的100Mb文件。该文件将分为20个部分,每个5mb,并行上传。当3个部分完成并且3个正在处理时,您暂停上传。然后你恢复它。 TransferUtility将从5mb * 3 = 15mb继续上传,并有17个部分进行传输。这是因为每个部分都已完全上传,否则将被丢弃。

答案 1 :(得分:0)

对不起,如果我尝试偏离主题,那么我的回答基本上是关于文件下载。

因此,我试图从Amazon S3下载资源。我使用传输观察器来了解传输状态。我能够暂停下载并监视其状态。但是,即使尝试使用transferUtility.resume(transferId),我也无法恢复下载。但是后来我尝试使用transferObserver.refresh(),就可以继续下载文件了。