Io 颤振:写入文件的权限被拒绝

Io 颤振:写入文件的权限被拒绝,io,flutter,Io,Flutter,我在用flatter编写文件时遇到问题。我不断地发现这个错误: FileSystemException:无法创建文件,路径='/data/local/tmp/temp.png'(操作系统错误:权限被拒绝,错误号=13) 出于某种原因,它只发生在某些设备上。我自己似乎无法复制这个问题,但人们正在向我报告 以下是基本代码: final Io.Directory systemTempDir = Io.Directory.systemTemp; final Io.File file = await ne

我在用flatter编写文件时遇到问题。我不断地发现这个错误:

FileSystemException:无法创建文件,路径='/data/local/tmp/temp.png'(操作系统错误:权限被拒绝,错误号=13)

出于某种原因,它只发生在某些设备上。我自己似乎无法复制这个问题,但人们正在向我报告

以下是基本代码:

final Io.Directory systemTempDir = Io.Directory.systemTemp;
final Io.File file = await new Io.File('${systemTempDir.path}/temp.png').create();
file.writeAsBytes(finalImage);

根据所使用的设备,路径可能有问题。请查看path_provider插件:


关于如何读取和写入flatter.io上的flatter食谱中的文件,有一篇很好的文章:

final io.Directory systemTempDir=io.Directory.systemTemp似乎无法在发布模式下工作

我必须做到以下几点:

Directory tempDir = await getTemporaryDirectory();
final File file = File("${tempDir.path}/$fileName");

getTemporaryDirectory()
由path\u提供者提供。

在Android Q中,只需在AndroidManifest文件中添加以下行:


成功了!导入
path\u提供程序
并更改
Io.Directory.systemTemp
getTemporaryDirectory()
就可以了!非常感谢。我正在尝试访问/storage/emulated/directory,但在我授予WRITE\u EXTERNAL\u存储和READ\u EXTERNAL\u存储权限时,出现错误“未处理的异常:FileSystemException:目录列表失败,路径='/storage/emulated/'(操作系统错误:权限被拒绝,errno=13)”。任何建议。谢谢,我也是。你能解决你的问题吗?嘿,如果我添加这个,并且Minsdk版本低于29,构建就会失败