如何获得对Firebase图像的引用才能将其删除?

问题描述 投票:0回答:1

所以我有此功能可以检索所有照片

const getPhotos = async () => {
    const storage = firebaseApp.storage()
    let gsReference = storage.refFromURL('gs://my-app/')
    gsReference = gsReference.child(`${id}/${country}`)

    const { items } = await gsReference.listAll()
    const urlPromises = items.map((pr) =>
        pr
            .getDownloadURL()
            .then((url) => fetch(url))
            .catch((error) => error),
    )

    let urls = await Promise.all(urlPromises)
    urls = urls.filter((result) => !(result instanceof Error))
    setPhotos(urls)
}

这一切都很好

现在的问题是当我要删除图像时。香港专业教育学院得到这个功能

const deletePhoto = (photoRef) => {
    console.log('PHOTO:', photoRef)
    var storage = firebaseApp.storage()
    var storageRef = storage.ref(`${id}/${country}`)
}

问题是我无法知道要删除的图像的引用?

我正在所有图像上进行映射,对于每个图像,我都附加了delete功能,并将照片作为arg传入。但这只是给我这个

body: ReadableStream {locked: false}
bodyUsed: false
headers: Headers {append: function, delete: function, get: function, has: function, set: 
ok: true
redirected: false
status: 200
statusText: ""
type: "cors"
url: "https://firebasestorage.googleapis.com/v0/b/my-app.appspot.com/o/F2DFB6714-8082-4AF9-89…"

看起来url确实引用了该路径,但是它在末尾切断了一部分。而且我真的不想把它拼接起来以找到图像。必须有一种简单的方法来设置参考???

所以我有此功能来检索我所有的照片const getPhotos = async()=> {const storage = firebaseApp.storage()让gsReference = storage.refFromURL('gs:// my-app /')gsReference .. 。

javascript reactjs firebase firebase-storage
1个回答
0
投票

您可以在Response之后的另一个Reference回调中组合thencatch对象。

© www.soinside.com 2019 - 2024. All rights reserved.