如何从 firestore 获取文件夹中图像的所有 URL?

How to get all URLs of images in folder from firestore?

我在 firestore 上有一个存储,其中有一个名为 barber 的图像文件夹。我想使用下面的 getDownloadUrl 方法列出此文件夹中的所有网址。未找到控制台日志 return 存储对象。有人可以告诉我我做错了什么吗?

const mypicks = getRef(storage,'barber/')

 getDownloadURL(mypicks)
  .then((url) => {
    // `url` is the download URL for 'images/stars.jpg'

    // This can be downloaded directly:
    // const xhr = new XMLHttpRequest();
    // xhr.responseType = 'blob';
    // xhr.onload = (event) => {
    //   const blob = xhr.response;
    // };
    // xhr.open('GET', url);
    // xhr.send();

    // Or inserted into an <img> element
   console.log('url',url)
  })
  .catch((error) => {
    // Handle any errors
    console.log(error)
  });

您可以使用 listAll() 列出目录中的所有项目,然后获取它们的下载 URL。

import { ref, listAll } from "firebase/storage";

// Create a reference under which you want to list
const myPicks = ref(storage, 'barber/')

listAll(myPicks)
  .then(async (res) => {
    const { items } = res;
    const urls = await Promise.all(
      items.map((item) => getDownloadURL(item))
    );

    // Array of download URLs of all files in that folder
    console.log(urls);
  })
  .catch((error) => {
    // Uh-oh, an error occurred!
  });