flutter path_provider中应用文档目录和支持目录的区别?

rbl8hiat  于 2023-03-04  发布在  Flutter
关注(0)|答案(1)|浏览(130)

我是path_provider的新手,我正在制作一个音乐应用程序,想下载一个mp3文件,但我不知道在应用程序中下载文件的正确方法。
我希望使用应用程序存储来存储文件,以便用户无法直接访问它。
我能把它放在哪里?

final dir = await getApplicationDocumentsDirectory();
final dir2 = await getApplicationSupportDirectory();
print(dir.path);
print(dir2.path);

<---------- Output of path ----------->
/data/user/0/com.oraysa/app_flutter.  
/data/user/0/com.oraysa/files

连同这一个更多的问题是我怎样才能访问下载的文件(得到所有下载的文件的信息).我怎样才能找到相同的文件,所以下次我不必再下载它,而只是直接从存储加载它?

hvvq6cgz

hvvq6cgz1#

1.-应使用哪一个目录?

根据path_provider docs,这两个目录都禁止用户访问,但applicationDocumentsDirectory用于:
用户生成的数据,或应用程序无法以其他方式重新创建的数据
因此,由于应用程序可以重新创建歌曲,因此应使用applicationSupportDirectory

2.-如何列出下载的文件?

为此,您可以使用默认dar库dart:io

final dir = await getApplicationSupportDirectory();    
final Files = io.Directory(dir.path).listSync();

相关问题