Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 图像未通过firebase存储颤振加载_Flutter - Fatal编程技术网

Flutter 图像未通过firebase存储颤振加载

Flutter 图像未通过firebase存储颤振加载,flutter,Flutter,图像网络请求 Image.network( FirebaseStorage.instance .ref() .child(blog.data["picture1"]) .getDownloadURL() .toString(), ),

图像网络请求

Image.network(
                  FirebaseStorage.instance
                      .ref()
                      .child(blog.data["picture1"])
                      .getDownloadURL()
                      .toString(),
                ),
picture1是一个字符串,格式为“blogPic/${email}/${number}\u a”。 此字符串指向firestorage位置

错误

解析图像编解码器时引发了以下断言:
无法加载资产:图像(图像:NetworkImage(“未来”实例,比例:1.0),frameBuilder:null,loadingBuilder:null,对齐方式:中心,this.excludeFromSemantics:false,filterQuality:low)
引发异常时,这是堆栈:
#0平台组装包.load(包:颤振/src/services/asset_bundle.dart:221:7)
#1个AssetBundleImageProvider.\u loadAsync(包:flatter/src/painting/image\u provider.dart:664:31)
#2 AssetBundleImageProvider.load(包:颤振/src/Paint/image_provider.dart:648:14)
#3 ImageProvider.resolveStreamForKey。(包装:颤振/src/painting/image_供应商。dart:501:13)
...
图像提供程序:AssetImage(bundle:null,name:“图像(图像:NetworkImage(“未来”的实例,比例:1.0),frameBuilder:null,loadingBuilder:null,alignment:center,this.excludeFromSemantics:false,filterQuality:low)”)
图像键:AssetBundleImageKey(bundle:PlatformAssetBundle#33ea4(),名称:“图像(图像:NetworkImage(“未来”实例,比例:1.0),frameBuilder:null,loadingBuilder:null,对齐:居中,this.excludeFromSemantics:false,filterQuality:low)”,比例:1.0)

使用FutureBuilder小部件

                                FutureBuilder(builder: (context , snapshot){
                                    switch(snapshot.connectionState){
                                      case ConnectionState.none:
                                        return Text('No Data');
                                        break;
                                      case ConnectionState.waiting:
                                        return Container(
                                          width: 200,
                                          height: 200,
                                          child: CircularProgressIndicator(),
                                        );
                                        break;
                                      case ConnectionState.active:
                                        return Container(
                                          width: 200,
                                          height: 200,
                                          child: CircularProgressIndicator(),
                                        );
                                        break;
                                      case ConnectionState.done:
                                        return Container(
                                          width: 200,
                                          height: 200,
                                          child: Image.network(snapshot.data.toString() , fit: BoxFit.contain,),
                                        );
                                        break;
                                    }
                                    return Container(
                                      width: 200,
                                      height: 200,
                                      child: CircularProgressIndicator(),
                                    );
                                  }, future: _getImage(document['filePath']),)

  Future<String> _getImage(filePath) async{
    String url = await storage.ref().child('launch').child('$filePath.jpg').getDownloadURL().whenComplete((){
    }).catchError((error){
      return null;
    });
    return url;
  }
FutureBuilder(构建器:(上下文,快照){
交换机(快照.连接状态){
案例连接状态。无:
返回文本(“无数据”);
打破
案例连接状态。正在等待:
返回容器(
宽度:200,
身高:200,
子对象:CircularProgressIndicator(),
);
打破
案例连接状态.active:
返回容器(
宽度:200,
身高:200,
子对象:CircularProgressIndicator(),
);
打破
案例连接状态。完成:
返回容器(
宽度:200,
身高:200,
子项:Image.network(snapshot.data.toString(),fit:BoxFit.contain,),
);
打破
}
返回容器(
宽度:200,
身高:200,
子对象:CircularProgressIndicator(),
);
},未来:_getImage(文档['filePath']),)
Future\u getImage(文件路径)异步{
字符串url=wait storage.ref().child('launch').child('$filePath.jpg').getDownloadURL().whenComplete(){
}).catchError((错误){
返回null;
});
返回url;
}

使用FutureBuilder小部件

                                FutureBuilder(builder: (context , snapshot){
                                    switch(snapshot.connectionState){
                                      case ConnectionState.none:
                                        return Text('No Data');
                                        break;
                                      case ConnectionState.waiting:
                                        return Container(
                                          width: 200,
                                          height: 200,
                                          child: CircularProgressIndicator(),
                                        );
                                        break;
                                      case ConnectionState.active:
                                        return Container(
                                          width: 200,
                                          height: 200,
                                          child: CircularProgressIndicator(),
                                        );
                                        break;
                                      case ConnectionState.done:
                                        return Container(
                                          width: 200,
                                          height: 200,
                                          child: Image.network(snapshot.data.toString() , fit: BoxFit.contain,),
                                        );
                                        break;
                                    }
                                    return Container(
                                      width: 200,
                                      height: 200,
                                      child: CircularProgressIndicator(),
                                    );
                                  }, future: _getImage(document['filePath']),)

  Future<String> _getImage(filePath) async{
    String url = await storage.ref().child('launch').child('$filePath.jpg').getDownloadURL().whenComplete((){
    }).catchError((error){
      return null;
    });
    return url;
  }
FutureBuilder(构建器:(上下文,快照){
交换机(快照.连接状态){
案例连接状态。无:
返回文本(“无数据”);
打破
案例连接状态。正在等待:
返回容器(
宽度:200,
身高:200,
子对象:CircularProgressIndicator(),
);
打破
案例连接状态.active:
返回容器(
宽度:200,
身高:200,
子对象:CircularProgressIndicator(),
);
打破
案例连接状态。完成:
返回容器(
宽度:200,
身高:200,
子项:Image.network(snapshot.data.toString(),fit:BoxFit.contain,),
);
打破
}
返回容器(
宽度:200,
身高:200,
子对象:CircularProgressIndicator(),
);
},未来:_getImage(文档['filePath']),)
Future\u getImage(文件路径)异步{
字符串url=wait storage.ref().child('launch').child('$filePath.jpg').getDownloadURL().whenComplete(){
}).catchError((错误){
返回null;
});
返回url;
}