微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 java/android 从 azure blob 存储下载大文件并取得进展

如何解决使用 java/android 从 azure blob 存储下载大文件并取得进展

我正在开发一个 android 应用程序,我需要从 Azure blob 下载文件我可以使用以下代码下载文件,但我还想在下载文件显示进度条,因为它将是一个文件大约 1/2 GB。

Gradle 依赖:

implementation 'com.microsoft.azure.android:azure-storage-android:2.0.0'

我如何下载文件

CloudStorageAccount account = CloudStorageAccount.parse(storageConnectionString);
CloudBlobClient serviceClient = account.createCloudBlobClient();
CloudBlobContainer container = serviceClient.getContainerReference("test");
Iterable blobs = container.listBlobs();
for (Object listBlobItem : blobs) {
     ListBlobItem blob = (ListBlobItem) listBlobItem;
     CloudBlockBlob cloudBlob = (CloudBlockBlob) blob;
     // Downloading files from the container
     cloudBlob.downloadToFile(fileSample.getAbsolutePath());
     Log.e("INFO","File downloaded");
 }

如何获取下载进度?

解决方法

thread1 中的过程提供了通过将 Blob 拆分成小块来下载 Blob 的方法,该过程在此 thread2 的建议中引用,可能会提供有关如何处理的想法。

-感谢@Gaurav mantri

其他参考: Asynchronous-parallel-blob-transfers

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。