Flutter: 转换Base64格式异常

问题描述 投票:0回答:1

我试图在flutter上将base64图像转换为图像,并在列表视图中显示如下。

  _fileItem(Model file) {
    return Card(
      child: ListTile(
        leading: Image.memory(
          base64Decode(file.image),
          width: 100,
          fit: BoxFit.cover,
        ),
      ),
    );
  }

但我得到了这个错误。

The following FormatException was thrown building:
Invalid character (at character 77)
iVBORw0KGgoAAAANSUhEUgAAAUAAAAFACAIAAABC8jL9AAAAA3NCSVQICAjb4U/gAAAgAElEQVR4
                                                                            ^

测试我的base64图像 在线转换器网站 我打开我的base64字符串文件,这是结果。

enter image description here

但在flutter中,我得到了错误?

我在我的插件中用这个方法在java native中转换了base64。

private String getBase64Image(Bitmap bitmap) {
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
    byte[] byteArray = byteArrayOutputStream.toByteArray();
    return Base64.encodeToString(byteArray, Base64.DEFAULT);
}
flutter flutter-layout
1个回答
1
投票

你的 base64 编码字符串包含换行符。可能是因为你从文本编辑器复制了它。

你可以在这里检查这个字符串 https:/www.textmagic.comfree-toolsunicode-detector 并且会显示回车('\n')。

© www.soinside.com 2019 - 2024. All rights reserved.