Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:如何将base64转换为图像?_Flutter_Base64 - Fatal编程技术网

Flutter 颤振:如何将base64转换为图像?

Flutter 颤振:如何将base64转换为图像?,flutter,base64,Flutter,Base64,我以JSON格式发送了一条消息,我可以将数据显示为Base64,但我不知道如何将其转换为图像并显示 class _ShowformState extends State<Showform> { List data; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Maintenancce

我以JSON格式发送了一条消息,我可以将数据显示为Base64,但我不知道如何将其转换为图像并显示


class _ShowformState extends State<Showform> {
  List data;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Maintenancce Information", style: TextStyle(fontSize: 13)),),
      body: _buildListView(),);}
  Widget _buildListView() {
    return ListView.builder(
        itemCount: data == null ? 0 : data.length,
        itemBuilder: (context, index) {
          return _buildColumnInfo(data[index]);
        }); }
  @override
  void initState() {
    super.initState();
    this.getJSONData();}

Future<String> getJSONData() async {
    var url = "http://192.168.1.35:7000/";
    var response = await http.get(url);
    if (response.statusCode == 200) {
      var jsonResponse = json.decode(utf8.decode(response.bodyBytes));
      setState(() {
        data = jsonResponse['data'];});
      var itemCount = jsonResponse['totalItems'];}

  Widget _buildColumnInfo(item) {
    return new Container(
            padding: new EdgeInsets.all(12.0),
            child: new Column(
              children: <Widget>[
                Text("Data Inserted : ${item['photoBase64']}"),], ),)}}

类_ShowformState扩展状态{
列出数据;
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(“维护中心信息”,样式:TextStyle(fontSize:13)),),
正文:_buildListView(),);}
小部件_buildListView(){
返回ListView.builder(
itemCount:data==null?0:data.length,
itemBuilder:(上下文,索引){
返回_buildColumnInfo(数据[索引]);
}); }
@凌驾
void initState(){
super.initState();
this.getJSONData();}
未来的getJSONData()异步{
变量url=”http://192.168.1.35:7000/";
var response=wait http.get(url);
如果(response.statusCode==200){
var jsonResponse=json.decode(utf8.decode(response.bodyBytes));
设置状态(){
data=jsonResponse['data'];});
var itemCount=jsonResponse['totalItems'];}
Widget\u buildColumnInfo(项目){
退回新货柜(
填充:新边缘设置。全部(12.0),
子:新列(
儿童:[
文本(“插入的数据:${item['photoBase64']}”),],),),)}

我需要什么方法来解码?

您不能将direct base64转换为图像,但可以如下所示显示图像

Uint8List bytes= base64.decode("${item['photoBase64']}");
在用户界面中

您可以尝试以下代码:

Uint8List convertBase64Image(String base64String) {
  return Base64Decoder().convert(base64String.split(',').last);
}
并添加到您的用户界面:

Image.memory(
  convertBase64Image(item['photoBase64']),
  gaplessPlayback: true,
)

下面的简单代码用于将base64转换为图像:

Image.memory(base64.decode(base64String.split(',').last))

非常感谢你的建议。
Image.memory(base64.decode(base64String.split(',').last))