在 Flutter 错误中将 base64 转换为图像

时间:2020-12-22 18:31:43

标签: flutter dart

我将此图像作为 base64 字符串,然后我想将其转换为 BoxDecoration 中的图像,如下所示:

 Container(
                decoration: BoxDecoration(image: DecorationImage(image: Utility.imageFromBase64String(drink.image))),

这是将字符串解码为图像的函数。

功能

    class Utility {
  static Image imageFromBase64String(String base64String) {
    return Image.memory(
      base64Decode(base64String),
      fit: BoxFit.fill,
    );
  }}

但是,我在 BoxDecoration 中遇到错误:

The argument type 'Image' can't be assigned to the parameter type 'ImageProvider<Object>'

错误在这部分,我想我不能放入 Image 因为它要求 ImageProvider:

image: DecorationImage(image: Utility.imageFromBase64String(drink.image))

任何想法如何使它工作?谢谢!

1 个答案:

答案 0 :(得分:0)

来自 imageDecorationImage 属性属于 ImageProvider<object> 类型而不是 Image

像这样从MemoryImage返回一个imageFromBase64String

  static MemoryImage imageFromBase64String(String base64String) {
    return MemoryImage(
      base64Decode(base64String)
    );
  }

那么这个。

image: DecorationImage(
  image: Utility.imageFromBase64String(drink.image),
  fit: BoxFit.fill,
)
相关问题