Flutter iOS / Andriod在何处保存数据以方便下载/传输

时间:2019-06-21 06:53:22

标签: flutter dart

我正在构建一个记录数据并将其保存在手机上的应用程序。 如果我以后想方便地将其从手机上转移下来,那么保存它的正确位置在哪里?

根据Flutter文档,我通常会这样做:

final directory = await getApplicationDocumentsDirectory();
return directory.path;

但这会返回

的路径
/data/user/0/com.myApp.myApp_app/app_flutter

我相信只有您是root用户或创建该文件的应用程序才可以访问。

所以我在哪里以及如何保存文件,以便以后可以在文件浏览器中找到它

**编辑:**这是我最终要做的事情

像这样File file = new File('/storage/emulated/0/Download/data.txt');

创建文件

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />添加到您的AndroidManifest.xml

安装该应用后,进入应用信息并启用存储权限。我原本以为会自动完成此操作,但不会。

1 个答案:

答案 0 :(得分:0)

您做的正确,但是缺少某些内容。我正在为你写出来。它可能会帮助您。让我知道是否可行。

您可以做的是

String directory = (await getApplicationDocumentsDirectory()).path;
File file = new File('$directory/$your_file_name_in_your_local_device');
await file.writeAsBytes(dataInBytes);
print(file.path);

为了获取字节数据,请执行以下操作:

var dataInBytes = await request.bodyBytes;

快乐编码:)