首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Dio包下载多个文件

使用Dio包下载多个文件
EN

Stack Overflow用户
提问于 2020-09-15 08:19:48
回答 1查看 1.5K关注 0票数 2

我正在尝试下载多个文件使用dio软件包。从这个git发行中,我发现可以使用future.wait来完成这个任务,尽管我能够同时更新多个文件,但不能更新数据库。下面是下载代码片段

代码语言:javascript
复制
  download(Attachment attachment) => work(context, () async {
        final dio = Dio();
        final path = await getLocalFilePath(attachment);
        var downloadRequest = dio.download(
          attachment.url,
          path,
          deleteOnError: true,
          onReceiveProgress: (count, total) {
            setState(
              () {
                _downloadProgress[attachment.url] = count / total;
                print(_downloadProgress[attachment.url]);
              },
            );
          },
        ).then(
          (value) async {
            await ReviewDownloadsDB().add({
              'id': attachment.id,
              'name': attachment.name,
              'url': attachment.url,
              'path': path
            });
          },
        );
        Future.wait([downloadRequest]);
      });

有人能告诉我哪里出错了吗?下载后如何将下载的项目添加到我的ObjectDB数据库中。屏幕的完整代码是这里

EN

回答 1

Stack Overflow用户

发布于 2022-09-01 00:53:21

如果您不介意使用不同的包,则可以使用下装载机包同时下载多个文件。默认的最大并发下载任务集为3(3),您可以按照此指南更改此配置。

然后可以使用FlutterDownloader.enqueue()创建下载任务。

代码语言:javascript
复制
final taskId = await FlutterDownloader.enqueue(
  url: 'your download link',
  headers: {}, // optional: header send with url (auth token etc)
  savedDir: 'the path of directory where you want to save downloaded files',
  showNotification: true, // show download progress in status bar (for Android)
  openFileFromNotification: true, // click on notification to open downloaded file (for Android)
);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63897850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档