小编Gau*_*ale的帖子

Flutter:在外部存储路径上创建目录 - 路径提供者 getExternalStorageDirectory()

我正在创建一个 flutter 应用程序,我想在其中下载图像并将其存储到外部存储(不是文档目录),以便任何照片库应用程序都可以查看它。我正在使用以下代码创建目录

var dir = await getExternalStorageDirectory();
  if(!Directory("${dir.path}/myapp").existsSync()){
    Directory("${dir.path}/myapp").createSync(recursive: true);
  }
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

FileSystemException: Creation failed, path = '/storage/emulated/0/myapp' (OS Error: Permission denied, errno = 13)
Run Code Online (Sandbox Code Playgroud)

我已经在清单文件中设置了权限,并使用以下代码获取运行时权限

List<Permissions> permissions = await Permission.getPermissionStatus([PermissionName.Storage]);
permissions.forEach((p) async {
  if(p.permissionStatus != PermissionStatus.allow){
    final res = await Permission.requestSinglePermission(PermissionName.Storage);
    print(res);
  }
});
Run Code Online (Sandbox Code Playgroud)

我已经在设置中验证了该应用程序已获得许可,也如此处的某些答案所建议的那样,我还尝试手动从设置应用程序中授予许可,但这不起作用。

io storage android dart flutter

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

android ×1

dart ×1

flutter ×1

io ×1

storage ×1