所以我尝试在flutter中使用base64字符串显示一个图像,使用以下代码:
class GeneratedImages extends StatelessWidget {
const GeneratedImages({
Key? key,
required this.imageBytes,
}) : super(key: key);
final String imageBytes;
@override
Widget build(BuildContext context) {
return Image.memory(
const Base64Decoder().convert(imageBytes),
errorBuilder: (_, object, stackTrace) {
return const Center(
child: Icon(Icons.image_not_supported),
);
},
);
}
}
当我运行代码时,显示以下错误
FormatException: Invalid character (at character 77)
我拥有的Base 64字符串是:/9j/44AAQSKZJRgABAQUS/2wBDAAUDBAQEAwUEBAQFBQGBwwIBwcHBw8LCwMEQ8SEhEP ERETFhwXExqaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/2wAARCAEAAQA文件5uYR9j05ISHI/eMTjPTGCPbtWJqHi3xJcyBhew27548oKMDPAG7k9cV1UsJWTu3YYqYml6n//Z
- 一个
- 任何帮助都将不胜感激**
2条答案
按热度按时间5jvtdoz21#
基于@Jamesdlin评论中建议的答案。
删除字符串中存在的所有空格将解决这个问题。
能够使用以下命令删除空格:
eqoofvh92#
如果您的Base64字符串在逗号后面包含数据,因为它是由RFC-2397定义的。Dart的Uri类基于RFC-3986,因此您不能使用它。
参考:https://stackoverflow.com/a/59015116/12382178