在内部存储器(根文件夹)中创建目录Flutter

时间:2020-09-13 05:19:31

标签: flutter dart directory

我想在内部存储器(根文件夹)中创建目录,就像安装了在根文件夹中创建电报文件夹的应用程序后的电报应用程序一样。 我尝试了这段代码。

   new Directory('dir/subdir').create(recursive: true)
       .then((Directory directory) {
          print(directory.path);
});

但是我遇到了这个错误:Instance of 'Future<Directory>' E/flutter ( 4594): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: FileSystemException: Creation failed, path = 'myDir' (OS Error: Read-only file system, errno = 30)

我在AndroidManifest中添加了这些权限。但仍然无法正常工作。

     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

1 个答案:

答案 0 :(得分:0)

首先:应该获得存储权限。我正在使用permission_handler插件。

第二个:从sdcard开始,例如:/ sdcard / dir / subdir

    final status = await Permission.storage.request();
    if (status == PermissionStatus.granted) {
        print("Allowed");
        Directory newDirectory = await Directory("/sdcard/dir/subdir").create(recursive: true);
    }else{
        print("Denyed");
    }