首页 > 解决方案 > FirebaseStorage.instance.ref() 即将为空

问题描述

我想在我的 Flutter 应用程序中显示存储在 Firbase 存储中的图像,但我正在处理这个问题。我按照这个答案的说明进行操作,但我ref()总是这样:

打印

我创建此方法只是为了测试,当我尝试获取 DownloadURL 时,颤动会引发​​异常:

/颤振(4664):══╡图像资源服务发现异常╞═════════════════════════════════════════ ══════════════════ I/flutter(4664):引发以下 ArgumentError 解析图像编解码器:I/flutter(4664):无效参数:无主机在 URI 文件中指定:///Instance%20of%20'Future'

  void _locateFile() async{
    final ref = FirebaseStorage.instance
        .ref()
        .child('avatars')
        .child('simples')
        .child('woman1.png');

    var url = Uri.parse(await ref.getDownloadURL() as String);
    print(url);
  }
}

这是图像信息:

信息

所以,如果有人可以帮助我,我会很高兴:)

标签: firebaseflutterfirebase-storage

解决方案


我只是试图重现这个问题,但不知何故,这段代码对我来说很好:

var earringsRef = FirebaseStorage.instance.ref().child("EARRINGS.JPG");
var downloadURL = await earringsRef.getDownloadURL();
print(downloadURL);

var url = Uri.parse(await earringsRef.getDownloadURL() as String);
print(url);

这两行打印相同的 URL:

颤振:https ://firebasestorage.googleapis.com/v0/b/project-8080059325282098184.appspot.com/o/EARRINGS.JPG?alt=media&token=0958acfc-3545-4af4-b38b-27a7ae38b20f

颤振:https ://firebasestorage.googleapis.com/v0/b/project-8080059325282098184.appspot.com/o/EARRINGS.JPG?alt=media&token=0958acfc-3545-4af4-b38b-27a7ae38b20f


推荐阅读