我是新来的Flutter,我正在消费一个API,其中包含数据和字符串中的图标,但此图标不适用于image . newwork
我从请求中得到的图标图像链接的一个例子是这个存储在e.c iconone:
"数据:图像/png; base64, iVBORw0KGgoAAAANSUhEUgAAAFoAAABWCAYAAABPao…">
我研究了一下,看到有一些方法可以解码base64,但我没有找到它,我不知道如何在屏幕上显示它!
Container(
padding: EdgeInsets.symmetric(horizontal: 6, vertical: 6),
decoration: new BoxDecoration(
color:
(index++ % 2 == 0) ? Color(0xFFE8CFA7) : Color(0xFFA8CCE9),
),
child: Column(
children: previsao
.map((e) => Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Container(
width: 104,
child: Text("${e.diaSemana}",
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500)),
),
Image.network(e.icone),
Text("${e.tempMin}°",
style: TextStyle(fontSize: 18)),
Text("${e.tempMax}°",
style: TextStyle(fontSize: 18)),
],
))
.toList()))
正如您所说,您需要将其转换为字节以与Image.memory()
一起使用,首先将此添加到文件的顶部:
import 'dart:convert';
,那么你可以这样显示它作为一个小部件:
Image.memory(Base64Decoder().convert("here the data:image/..."))
替换"这里的数据:image/…"从你的API获取的图片URL。