我试图在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字符串文件,这是结果。
但在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);
}
你的 base64 编码字符串包含换行符。可能是因为你从文本编辑器复制了它。
你可以在这里检查这个字符串 https:/www.textmagic.comfree-toolsunicode-detector 并且会显示回车('\n')。