【发布时间】:2021-07-05 22:14:03
【问题描述】:
const sendImageToFirebase = (e) => {
const promises = []
const urlsArray = []
// productimage is an array of image files
productImage.forEach((image, i) => {
var storageRef = firebase.storage().ref();
var uploadTask = storageRef.child(`${userDetailsFirebase.uid}/` + Math.random()).put(image);
promises.push(uploadTask.on('state_changed',
(snapshot) => {
},
(error) => {
console.log("error");
},
async () => {
const downloadurl = await uploadTask.snapshot.ref.getDownloadURL()
urlsArray.push(downloadurl)
}
))
})
Promise.all(promises).then(res => {
db.collection("products").doc(idGeneratedforProduct).set(
{
imageURL: urlsArray, //array of image urls
},
).then(e => {
}).catch(error => console.log("Error while sendig items to Firebase"))
})
}
我想将多张图片上传到 Firebase 存储。这里sendImagToFirebase是reactJs中的普通函数,productimage是图片文件的数组。我想等待每个图像文件的 URL,然后将它们作为数组存储到 firestore。非常感谢您对如何做到这一点的意见?
【问题讨论】:
标签: reactjs firebase google-cloud-firestore