我在我的 Flutter 项目中使用Image Picker package
我从图库中选择图片,然后在Image.asset
小部件
这里的问题是,如果图像名称“ example_name.png” (不带空格)在屏幕上可见,但是如果图像名称“ example_name.png” (带有空格),图像就这样Screenshot不可见。
错误:
Unable to load asset: /storage/emulated/0/Download/images (9).jpeg
File _image;
Image.asset(
_image != null
? "${_image.path}"
: getImage("icon.png"),
fit: BoxFit.cover,
width: 120,
height: 120,
);
...
Future chooseFile() async {
await ImagePicker.pickImage(source: ImageSource.gallery).then((image) {
setState(() {
_image = image;
});
});
}
答案 0 :(得分:2)
您使用了错误的Image
构造函数。使用Image.file
代替Image.asset
。 Image.asset
加载打包在应用程序(assets
的{{1}}部分)中的文件,而pubspec.yaml
无权访问它们。
答案 1 :(得分:0)
使用Image.file是一个不错的选择,但是您希望通过使用它的有效方式来显示它 Image.file(_image).image这将帮助您将图像文件转换为图像提供程序
答案 2 :(得分:0)
在 image_picker
(版本 0.6.7 + 22)中,我能够在这种情况下恢复图像
if (photo == null) {
return Image (
image: AssetImage ('assets / no-image.png'),
height: 300.0,
fit: BoxFit.cover,
);
} else {
return Image.file (
Photo,
height: 300.0,
fit: BoxFit.cover,
);
}