如何解决如果放置在getApplicationDocumentsDirectory目录中,文件将存储在哪里?会增加应用大小吗?
Future<void> downloadFile() async{
Dio dio = Dio() ;
try{
var dir = await getApplicationDocumentsDirectory();
print('DIR is :${dir}');
await dio.download(pdfUrl,"${dir.path}/sample.pdf",onReceiveProgress: (rec,total){
print('rec:${rec},total:${total}');
setState(() {
downloading=true ;
progressString =((rec / total) * 100).toStringAsFixed(0) + "%" ;
});
});
}catch(e){
print(e);
}
setState(() {
downloading = false;
progressString = "Completed";
});
print("Download completed");
}
我想存储下载的pdf文件以供离线使用,我该如何实施?如何保存在downloads /(sample.pdf)本地文件夹中,并在离线状态下可以检索文件?
解决方法
在iOS上,它使用NSDocumentDirectory API。如果数据不是用户生成的,请考虑改用getApplicationSupportDirectory。
在Android上,此上下文使用getDataDirectory API。如果要让用户看到数据,请考虑改用getExternalStorageDirectory。
所以我不知道应用程序大小意味着什么?如果您将文件下载到应用程序目录中,则会明显增加应用程序缓存或其他大小,但不会创建apk大小。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。