【问题标题】:Display Default Image if wasn't picked by Image Picker in Flutter如果 Flutter 中的 Image Picker 未选择,则显示默认图像
【发布时间】:2025-11-25 00:25:01
【问题描述】:

我有一个图像选择器功能,它从图库中选择图像,然后将其分配给 _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());
    
  }
});

}

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    像这种三元条件一样添加图像占位符

    child: pickedFile == null ? Image.asset("assets/images/man_user.png",height: 100, width: 100): Image.file(pickedFile, height: 100, width: 100),
    

    【讨论】:

    • 你说得对,其实是我自己想出来的,我有几分钟的呆滞时刻,就是想不通。还是谢谢你!
    最近更新 更多