我是 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
还有一个问题是我如何访问下载的文件(获取所有下载文件的信息)。我怎样才能找到相同的文件,以便下次我不必再次下载它,而是直接从存储中加载它?
1.- 你应该使用哪个目录?
根据 path_provider 文档,这两个目录都被阻止用户访问,但 applicationDocumentsDirectory 用于:
用户生成的数据,或者您的应用程序无法以其他方式重新创建的数据
因此,由于您的应用程序可以重新创建歌曲,因此您应该使用 applicationSupportDirectory
2.- 如何列出下载的文件?
为此,您可以使用默认的 dar 库
dart:io
final dir = await getApplicationSupportDirectory();
final Files = io.Directory(dir.path).listSync();