Flutter - 将多张图片上传到 Firebase 并保存网址

时间:2021-04-15 03:36:29

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

如何将多个图像从地图上传到 Firebase 并保存网址。我不想使用多图像选择器,因为图像是一张一张选择的。 uploadTask.whenComplete 不工作,正在保存一些填充的和一些空的 URL。 我尝试了以下代码,但没有成功:

Future _send() async {
    if (_formKey.currentState.validate()) {
      photoMap.forEach(
        (key, value) async {
          firebase_storage.Reference firebaseStorageRef = firebase_storage
              .FirebaseStorage.instance
              .ref()
              .child('post')
              .child('$key-$postId.jpg');
          firebase_storage.UploadTask uploadTask =
              firebaseStorageRef.putFile(photoMap[key]);
          await uploadTask.whenComplete(() {
            downloadUrl = firebaseStorageRef.getDownloadURL().toString();
            mapFotoUrl['$key'] = downloadUrl;
          });
        },
      );
      postsRef.doc(userUid).collection("userPosts").doc(postId).set({
        "postId": postId,
        "userId": userUid,
        "userName": bdNome,
        "userFoto": bdPhotoUrl,
        "items": entriesMap,
        "fotoUrl": mapFotoUrl,
      });
    }
  }

0 个答案:

没有答案