TransferUtility S3 简历不起作用
TransferUtility S3 resume does not work
我正在使用 TransferUitlty class 将文件上传到 S3。一切都很好,除了在我暂停上传并恢复上传之后。文件从头开始上传,而不是从我暂停的地方上传。
Is this resume method designed for restarting the upload or resuming from where it paused?
Can I use resume method to resume upload even after killing app?
代码:
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));
}
}
这是 Amazon S3 的设计。如果是分段上传,您可以暂停和恢复上传。参见 S3 Multipart Upload Overview。假设您使用 TransferUtility 上传一个 100Mb 的文件。该文件将被分成 20 个部分,每个部分 5mb,并行上传。当 3 个部分已完成且 3 个正在处理中时,您暂停上传。你稍后再恢复它。 TransferUtility 将从 5mb * 3 = 15mb 继续上传,它有 17 个部分要传输。那是因为每个部分都已完整上传,否则将被丢弃。
对不起,如果我试图偏离主题,所以我的回答基本上是文件下载。
所以我试图从 Amazon S3 下载资源。我使用转移观察者来了解转移状态。我能够暂停下载并监控它的状态。但是,即使尝试使用 transferUtility.resume(transferId),我也无法恢复下载。但后来我尝试了 transferObserver.refresh() 并且我能够继续下载我的文件。
我正在使用 TransferUitlty class 将文件上传到 S3。一切都很好,除了在我暂停上传并恢复上传之后。文件从头开始上传,而不是从我暂停的地方上传。
Is this resume method designed for restarting the upload or resuming from where it paused?
Can I use resume method to resume upload even after killing app?
代码:
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));
}
}
这是 Amazon S3 的设计。如果是分段上传,您可以暂停和恢复上传。参见 S3 Multipart Upload Overview。假设您使用 TransferUtility 上传一个 100Mb 的文件。该文件将被分成 20 个部分,每个部分 5mb,并行上传。当 3 个部分已完成且 3 个正在处理中时,您暂停上传。你稍后再恢复它。 TransferUtility 将从 5mb * 3 = 15mb 继续上传,它有 17 个部分要传输。那是因为每个部分都已完整上传,否则将被丢弃。
对不起,如果我试图偏离主题,所以我的回答基本上是文件下载。
所以我试图从 Amazon S3 下载资源。我使用转移观察者来了解转移状态。我能够暂停下载并监控它的状态。但是,即使尝试使用 transferUtility.resume(transferId),我也无法恢复下载。但后来我尝试了 transferObserver.refresh() 并且我能够继续下载我的文件。