我正在寻找一种方法从外部服务器下载带有Flutter应用程序的大型pdf文件以进行离线存储.
但是下载一个大文件(有时是100mb)需要一些时间.我不希望应用程序陷入等待功能下载.我正在寻找的是一个下载功能,它有一个带有进度报告的回调(类似于:250000/500000字节完成.不一定就是那样.只是我可以使用的东西,并使进度条出来的).
这甚至可以在Flutter中做到吗?我遇到的唯一的事情是HTTP库.但这似乎没有进展回调,只是简单地读取http调用的内容(也没有进度报告).我希望有人能为我提供一种方法来实现这一目标.
亲切的问候,
凯文沃尔特
编辑:
C#就是我的意思的完美例子
https://stackoverflow.com/a/9459441/2854656
解决方法
>
https://docs.flutter.io/flutter/dart-io/HttpClient-class.html
> https://docs.flutter.io/flutter/dart-io/HttpClientResponse-class.html
> https://docs.flutter.io/flutter/dart-io/HttpClientResponse-class.html
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 }); });