Flutter - 在 Android 上保存对用户可见的本地文本文件
Flutter - Save a local text file visible for user on Android
我正在尝试在用户可以查看移动设备文件资源管理器应用程序的文件夹中创建一个文本文件,最好是在 Documents 文件夹中。
这是我到目前为止的内容(考虑到我们拥有所有必需的权限)
final directory = Platform.isAndroid
? await getExternalStorageDirectory()
: await getApplicationDocumentsDirectory();
final filePath = '${directory!.path}/example.txt';
File file = File(filePath);
await file.create();
await file.writeAsString('Some random text content');
之后我尝试在我的文件浏览器应用程序中找到这个新文件,但它似乎不存在并且看不到任何错误日志。
如果您想查看我编写的示例代码 -> https://github.com/felipeemidio/save-local-file-poc
到目前为止我尝试了什么?
- 如果您尝试执行
file.exists()
命令,它将 return true
.
- 使用
image_gallery_saver
库“下载”我的文件结果出现 错误 试图保存 plain/text
文件,而该文件应该只有 [=16] =] 文件。
- 使用
getExternalStorageDirectory(type: StorageDirectory.documents)
而不是 getExternalStorageDirectory()
没有任何改变。
downloads_path_provider
库不支持 null-safety。
- 如果您使用静态值
'/storage/emulated/0/Documents/example.txt'
设置目录路径,则可以通过 Archives 应用程序查看文件,但当您 select 查看所有文档文件的选项时将不会显示。
尝试文件路径为
String filePath = '/storage/emulated/0/Downloads/example.text';
并且不要忘记在清单中添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我正在尝试在用户可以查看移动设备文件资源管理器应用程序的文件夹中创建一个文本文件,最好是在 Documents 文件夹中。
这是我到目前为止的内容(考虑到我们拥有所有必需的权限)
final directory = Platform.isAndroid
? await getExternalStorageDirectory()
: await getApplicationDocumentsDirectory();
final filePath = '${directory!.path}/example.txt';
File file = File(filePath);
await file.create();
await file.writeAsString('Some random text content');
之后我尝试在我的文件浏览器应用程序中找到这个新文件,但它似乎不存在并且看不到任何错误日志。
如果您想查看我编写的示例代码 -> https://github.com/felipeemidio/save-local-file-poc
到目前为止我尝试了什么?
- 如果您尝试执行
file.exists()
命令,它将 returntrue
. - 使用
image_gallery_saver
库“下载”我的文件结果出现 错误 试图保存plain/text
文件,而该文件应该只有 [=16] =] 文件。 - 使用
getExternalStorageDirectory(type: StorageDirectory.documents)
而不是getExternalStorageDirectory()
没有任何改变。 downloads_path_provider
库不支持 null-safety。- 如果您使用静态值
'/storage/emulated/0/Documents/example.txt'
设置目录路径,则可以通过 Archives 应用程序查看文件,但当您 select 查看所有文档文件的选项时将不会显示。
尝试文件路径为
String filePath = '/storage/emulated/0/Downloads/example.text';
并且不要忘记在清单中添加权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />