Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从firebase存储中提取图像列表?_Javascript_Reactjs_Firebase_Firebase Storage - Fatal编程技术网

Javascript 如何从firebase存储中提取图像列表?

Javascript 如何从firebase存储中提取图像列表?,javascript,reactjs,firebase,firebase-storage,Javascript,Reactjs,Firebase,Firebase Storage,我已成功地将一些照片上载到firebase,但我想在某个位置下载所有图像 目前,我必须执行以下难看的代码: const getPhotos = async () => { var storage = firebaseApp.storage() var gsReference = storage.refFromURL('gs://my-app.appspot.com/') for (let i = 1; i < 4; i++) { await g

我已成功地将一些照片上载到firebase,但我想在某个位置下载所有图像

目前,我必须执行以下难看的代码:

const getPhotos = async () => {
    var storage = firebaseApp.storage()
    var gsReference = storage.refFromURL('gs://my-app.appspot.com/')
    for (let i = 1; i < 4; i++) {
        await gsReference
            .child(`${user.id}/${name}/photo${i}.jpg`)
            .getDownloadURL()
            .then((url) => {
                fetch(url).then((res) => {
                    setPhotos((photos) => photos.concat(res.url))
                })
            })
            .catch((error) => {
                console.log('ERROR!', error)
            })
    }
}
const getPhotos=async()=>{
var storage=firebaseApp.storage()
var gsReference=storage.refFromURL('gs://my-app.appspot.com/'))
for(设i=1;i<4;i++){
等待参考
.child(`${user.id}/${name}/photo${i}.jpg`)
.getDownloadURL()
。然后((url)=>{
获取(url)。然后((res)=>{
setPhotos((photos)=>photos.concat(res.url))
})
})
.catch((错误)=>{
console.log('ERROR!',ERROR)
})
}
}
这依赖于所有被称为
photo1.jpg
photo2.jpg
等的照片

有没有一种方法可以将它们全部拉出来,而不管它们被称为什么?

显然有一个函数

const getPhotos=async()=>{
const storage=firebaseApp.storage();
让reference=storage.refFromURL('gs://my-app.appspot.com/');
reference=reference.child(`${user.id}/${name}`);
const{items}=await reference.listAll();
const urlPromissions=items.map(pr=>pr.getDownloadURL()
。然后(url=>fetch(url))
.catch(error=>error));
让URL=等待承诺。全部(URL承诺);
URL=URL.filter(结果=>!(错误的结果实例));
设置照片(网址);
}

嘿,Jozef,谢谢你的回答,太好了。不知道你能不能帮我回答这个问题。不知道如何获得每一个参考,这样我就可以删除图像