首页 > 解决方案 > Firebase 存储多个图像数组 GetDownloadURL 我们如何解决呢?

问题描述

我们想通过 GetDownloadUrl 方法获取我们添加为数组的图像的链接。

我无法将从 GetDownloadUrl 返回的链接作为数组添加到 Firestore。

这是代码:

  const [multipleImage, setImage] = useState([]);
  const [multipleImageFake, setImageFake] = useState([]);

    const task = storegeRef.putFile(uploadUri[i].imgURL).then((url)=>{
           
          });
          setImageFake([{"name":"rest"},{"name":"rest"}]);

这是firestore查询

 .collection('patients')
      .doc(id)
      .collection('transactions')
      .doc(date)
      .set({
        userId: auth().currentUser.uid,
        postImg: multipleImageFake,
        catchDate: date,
        processDate: firestore.FieldValue.serverTimestamp(),
        diagnosticText: text,
      })

注意:当我使用 putFile 方法时,它给了我 MetaData

标签: javascriptreactjsreact-nativegoogle-cloud-firestorefirebase-storage

解决方案


确定下载 URL 需要调用服务器,因此它是一个异步操作。任何需要下载 URL 的代码都需要在then()回调中:

我们想通过 GetDownloadUrl 方法获取我们添加为数组的图像的链接。

我无法将从 GetDownloadUrl 返回的链接作为数组添加到 Firestore。

这是代码:

const [multipleImage, setImage] = useState([]);
const [multipleImageFake, setImageFake] = useState([]);

const task = storegeRef.putFile(uploadUri[i].imgURL).then((url)=>{
  // Here you can access the URL value and for example write it to Firestore           
});

// Here you can't

推荐阅读