path_provider中申请文件目录和支持目录的区别?

问题描述 投票:0回答:1

我是 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

还有一个问题是我如何访问下载的文件(获取所有下载文件的信息)。我怎样才能找到相同的文件,以便下次我不必再次下载它,而是直接从存储中加载它?

flutter path audio-player file-manager
1个回答
0
投票

1.- 你应该使用哪个目录?

根据 path_provider 文档,这两个目录都被阻止用户访问,但 applicationDocumentsDirectory 用于:

用户生成的数据,或者您的应用程序无法以其他方式重新创建的数据

因此,由于您的应用程序可以重新创建歌曲,因此您应该使用 applicationSupportDirectory

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

为此,您可以使用默认的 dar 库

dart:io

final dir = await getApplicationSupportDirectory();    
final Files = io.Directory(dir.path).listSync();
© www.soinside.com 2019 - 2024. All rights reserved.