Flutter 颤振:Base64转换格式异常
我正在尝试将base64图像转换为Flitter上的图像,并在列表视图中显示,如下所示:Flutter 颤振:Base64转换格式异常,flutter,flutter-layout,Flutter,Flutter Layout,我正在尝试将base64图像转换为Flitter上的图像,并在列表视图中显示,如下所示: _fileItem(Model file) { return Card( child: ListTile( leading: Image.memory( base64Decode(file.image), width: 100, fit: BoxFit.cover, ), ),
_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字符串文件,结果如下:
但在《颤栗》中我犯了错误
我在我的插件中通过以下方法将此base64转换为java native:
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编码字符串包含换行符。可能是因为您从文本编辑器复制了它。移除断裂,它应该可以工作
您可以在此处检查字符串,它将显示回车('\n')。您可以粘贴base64字符串吗@VilsadPPOk那么如何从数据中删除“\n”?意思是
file.image
@Vilsad P PI更新了我的问题。我在java@Vilsad P Pimage..replaceAll('\n','')中将位图转换为base46;正如堆栈溢出链接所提到的,如果不使用新行,则不需要生成新行。因此,修改java程序并使用标志Base64.NO_WRAP代替Base64.DEFAULT。这将大大减少Hanks bro的开销:-)