首页 > 解决方案 > 无法在颤动中将 blob 显示为图像

问题描述

我正在尝试在颤动中显示存储为 blob 的图像。我正在使用 PHP API 来获取图像并将其作为 base64 字符串发送。构建映像时,会出现一个错误,提示正在 Failed decoding image. Data is either invalid, or it is encoded using an unsupported format.
运行 xampp 服务器。PHP API。Flutter 应用程序使用 android studio 模拟器运行

我可以使用 HTML img 标签在网页上显示图像。

Image.memory(base64Decode(imagebase64string));

我希望图像显示在屏幕上错误说

Failed decoding image. Data is either invalid, or it is encoded using an unsupported format.

标签: imageflutterdartblob

解决方案


将其从 base64 解码回一个字节数组,并从以下位置使用dart.ui

final codec = await ui.instantiateImageCodec(data);
final frame = await codec.getNextFrame();
return frame.image;

甚至更简单,来自package:flutter/widgets.dart

return decodeImageFromList(data);

推荐阅读