【发布时间】:2021-07-11 14:22:16
【问题描述】:
请我每次尝试在我的颤振应用程序上选择图像时都会收到此错误。虽然在应用程序上从我的相机拍摄实时照片效果很好,但是当我尝试访问我的存储空间时,错误不断出现。
注意: 我使用 image_picker 包来选择两个图像并访问相机。
Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/Snapchat/Snapchat-441126967.jpg: open failed: EACCES (Permission denied)
一切都运行良好,突然我开始遇到这个问题。我做了以下事情。
在我的 android/app/src/main/AndroidManifest.xml 中
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我也将 requestLegacyExternalStorage 设置为 true。
在 Pubsec.yaml 中
permission_handler: ^8.1.2
image_picker:
颤振版本
Flutter 2.0.5 • channel stable
选择图片的代码块
Future<void> _pickImage(ImageSource source) async {
print(":: Pick Image executed :::");
try {
await Permission.storage.request();
var status = await Permission.storage.status;
print(":::: The Status of the permission is ::::");
print(status);
if (status.isGranted) {
File selected =
await ImagePicker.pickImage(source: source, imageQuality: 30);
final bytes = selected.readAsBytesSync();
String _img64 = base64Encode(bytes);
setState(() {
_imageFile = selected;
base64 = _img64;
});
uploadFile();
}
} catch (error) {
print(error);
}
}
权限已授予,如权限包所示,但是当我从设备库中选择图像时,我仍然在一天结束时收到错误消息。
【问题讨论】:
-
Android 11 设备?
-
没有 Android 10 设备
标签: android image flutter storage