flutter image_picker选择图片转换为base64

2,451 阅读1分钟

1.添加依赖

image_picker: ^0.6.3+4

2.调用选择图片

getImage() async {
  //从相册中获取图片
  var image = await ImagePicker.pickImage(source: ImageSource.gallery);
  if(image != null){
    List<int> imageBytes = await image.readAsBytes();
    var baseImg = convert.base64Encode(imageBytes);
    setState(() {
      //添加data:image/png;base64,是为了传给后台后台识别并存储
      imageBase = "data:image/png;base64," + baseImg;
    });
  }
}

flutter渲染base64图片

Image.memory(
  base64.decode(
    //flutter中Image.memory不识别base64前面的,需要截取一下
    <所得到的如上述所示的base64图片字符串>.split(',')[1]),
    height:30,    //设置高度
    width:70,    //设置宽度
    fit: BoxFit.fill,    //填充
    gaplessPlayback:true, //防止重绘
  )