【问题标题】:Link image from Storage in Firebase to CLOUD firestore document Flutter将图像从 Firebase 中的 Storage 链接到 CLOUD firestore 文档 Flutter
【发布时间】:2020-11-20 08:18:49
【问题描述】:

这是将图像推送到 Firebase 中的存储的实例:

Future uploadImage(BuildContext context) async {
    String fileName = basename(_imageFile.path);
    Reference firebaseStorageRef =
    FirebaseStorage.instance.ref().child('ifprofile/$fileName');
    UploadTask uploadTask = firebaseStorageRef.putFile(_imageFile);
    TaskSnapshot taskSnapshot = await uploadTask.whenComplete(() => null);
    taskSnapshot.ref.getDownloadURL().then((value) => print("Image uploaded: $value"));
  }

使用这种方法,我可以上传从画廊或相机中获取的图像,现在当图像进入 firestore 时,我需要将特定图像用户链接到云 firestore 集合,我用 Futurebuilder 调用这个集合:

CollectionReference influencerUser =
      FirebaseFirestore.instance.collection('influencerUser');
  var firebaseUser = FirebaseAuth.instance.currentUser;

FutureBuilder<DocumentSnapshot>(
              future: influencerUser.doc(firebaseUser.uid).get(),
              builder: (BuildContext context,
                  AsyncSnapshot<DocumentSnapshot> snapshot) {
                   return here I need to call the images from the storage in firebase

正如您在我的 futurebuilder 上面看到的那样,我从 cloudfirestore 调用文档,我还需要调用与存储链接到 cloudfirestore 的图像。 该怎么做?

【问题讨论】:

    标签: firebase flutter google-cloud-firestore firebase-storage


    【解决方案1】:

    value 中,您有图片的网址:

    taskSnapshot.ref.getDownloadURL().then((value) => print("Image uploaded: $value"));
      }
    

    只需在 Firestore 文档中将其保存为字符串即可。之后,您可以从文档中获取该字符串并使用 Image.network()CachedNetworkImage 显示图像。

      AsyncSnapshot<DocumentSnapshot> snapshot) {
         if(snaphot.hasData) {
            var inputMap = snapshot.data();
            print('firestore doc: $unputMap');
         }   
    }
    
    

    【讨论】:

      猜你喜欢
      • 2021-03-04
      • 2020-09-26
      • 2020-08-15
      • 2018-02-12
      • 2020-07-02
      • 2017-12-17
      • 2021-03-02
      • 2019-04-08
      • 2021-02-15
      相关资源
      最近更新 更多