flutter - 如何在颤动中解决(操作系统错误:不允许操作,errno = 1)
问题描述
我想将图像保存到我的下载文件夹。我已经添加了权限,但我仍然收到如下错误。
我在 AndroidManifest.xml 中添加了权限,如下所示:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
我还在AndroidManifest.xml中添加了android:requestLegacyExternalStorage="true"
除此之外,我还使用了permission_handler: ^8.1.6来打开存储权限。
_requestPermission() async {
Map<Permission, PermissionStatus> statuses = await [
Permission.storage,
].request();
final info = statuses[Permission.storage].toString();
print(info);
}
这是下载图像的代码。我使用的包是downloads_path_provider: ^0.1.0
Future<File> downloadImage(Uint8List data, String name) async {
Directory tempDir = await DownloadsPathProvider.downloadsDirectory;
String tempPath = tempDir.path;
var filePath = tempPath + '/$name';
var bytes = ByteData.view(data.buffer);
final buffer = bytes.buffer;
return File(filePath).writeAsBytes(
buffer.asUint8List(data.offsetInBytes, data.lengthInBytes));
}
这是我想下载图像时的错误。
E/flutter (26950): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception:
FileSystemException: Cannot open file, path = '/storage/emulated/0/Download/image-2021-09-23 17:18:47.923358.jpg'
(OS Error: Operation not permitted, errno = 1)
有谁知道如何解决这个错误?
解决方案
推荐阅读
- python - 替换python数组或数组中的引号
- python - PyCharm 导入 matplotlib.pyplot 显示错误
- symfony - 使用 RMQ 在 Symfony Messenger 中处理来自不同命名空间的消息
- vuejs2 - 如何对 vuejs 中两个或多个监视属性的更改做出一次反应
- bash - 比较第一个以 ; 结尾的字符串 在 2 个 txt 文件中,只获取那些唯一的行
- excel - 一次运行多个工作簿
- oracle - ORA-00923 FROM 关键字未指定
- sql - 使用 PowerShell 将 SSIS 项目部署到 Azure SSIS DB 时出错
- c# - 选择属性包含某个子字符串的元素
- numpy - np.random.standard_normal 和 np.random.randn 有什么区别?