所以我有此功能可以检索所有照片
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 .. 。
您可以在Response
之后的另一个Reference
回调中组合then
和catch
对象。