在Flutter应用中下载大型pdf文件

Kev*_*ter 5 dart flutter

我正在寻找一种使用Flutter应用程序从外部服务器下载大型pdf文件以进行离线存储的方法。

但是下载大文件(有时超过100mb)需要一些时间。我不希望该应用陷入等待功能中,无法下载。我正在寻找的是具有回调功能并带有进度报告的下载功能(类似:完成250000/500000字节。不必完全是这样。我可以使用某些功能并制作进度条的)。

在Flutter中甚至可以做到吗?我遇到的唯一东西是HTTP库。但这似乎没有进度回调,只是简单地读取http调用的内容(这也没有进度报告)。我希望有人能为我提供一种方法来实现这一目标。

亲切的问候,凯文·沃尔特

编辑: C#有我的意思的完美例子
/sf/answers/662160901/

Gün*_*uer 6

int fileSize;
int downloadProgress = 0;

new HttpClient().get('localhost', 80, '/file.txt')
     .then((HttpClientRequest request) => request.close())
     .then((HttpClientResponse response) {
       fileSize ??= respone.contentLength;
       response.transform(utf8.decoder).listen((contents) {
         downloadProgres += contents.length;
         // handle data
       });
     });
Run Code Online (Sandbox Code Playgroud)