现在我正在使用MultipleFileUpload方法。我可以获得进度条。请帮助我。
{{1}}
答案 0 :(得分:0)
使用AWS SDK for Android并检查AWS文档:https://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/s3transferutility.html
使用Transfer Utility,download()和upload()方法返回TransferObserver对象。该对象提供对以下内容的访问:
状态(现在指定为枚举) 到目前为止传输的总字节数 要传输的总字节数(用于轻松计算进度条) 您可以使用唯一ID来跟踪不同的传输 根据转移ID,可以从应用程序的任何位置检索此TransferObserver对象,包括应用程序是否被终止。它还允许您创建一个TransferListener,它将在状态或进度更改时以及发生错误时更新。
要获取下载或上传的进度,请在TransferObserver上调用setTransferListener()。这需要您实现onStateChanged,onProgressChanged和onError。例如:
TransferObserver transferObserver = download(MY_BUCKET, OBJECT_KEY, MY_FILE);
transferObserver.setTransferListener(new TransferListener(){
@Override
public void onStateChanged(int id, TransferState state) {
// do something
}
@Override
public void onProgressChanged(int id, long bytesCurrent, long bytesTotal) {
int percentage = (int) (bytesCurrent/bytesTotal * 100);
//Display percentage transfered to user
}
@Override
public void onError(int id, Exception ex) {
// do something
}
});