如果 Flutter 中的 Image Picker 未选择,则显示默认图像
Posted
技术标签:
【中文标题】如果 Flutter 中的 Image Picker 未选择,则显示默认图像【英文标题】:Display Default Image if wasn't picked by Image Picker in Flutter 【发布时间】:2021-01-26 12:25:49 【问题描述】:我有一个图像选择器功能,它从图库中选择图像,然后将其分配给 _image 变量,它是字符串。它将其转换为 base64,因为这是必要的。我想知道如果没有选择图像(选择的图像为空),我将如何从资产中获取默认图像作为 _image。这是我尝试过的代码和注释掉的东西,它在代码中的 else 下:
Future _getImage() async
PickedFile pickedFile = await picker.getImage(source: ImageSource.gallery);
setState(()
if (pickedFile != null)
final file = File(pickedFile.path);
_image = Utility.base64String(file.readAsBytesSync());
else
//if image wasn't picked, get the default one from assets
print('No image selected.');
// final file = File(AssetImage('assets/defaultfood.jpg').toString());
// _image = Utility.base64String(file.readAsBytesSync());
//final file = File('assets/defaultfood.jpg');
//_image = Utility.base64String(file.readAsBytesSync());
);
【问题讨论】:
【参考方案1】:像这种三元条件一样添加图像占位符
child: pickedFile == null ? Image.asset("assets/images/man_user.png",height: 100, width: 100): Image.file(pickedFile, height: 100, width: 100),
【讨论】:
你说得对,其实是我自己想出来的,我有几分钟的呆滞时刻,就是想不通。还是谢谢你!以上是关于如果 Flutter 中的 Image Picker 未选择,则显示默认图像的主要内容,如果未能解决你的问题,请参考以下文章
如果 Flutter 中的 Image Picker 未选择,则显示默认图像