gpt4 book ai didi

javascript - 如何将图像数组上传到 firebase 存储?

转载 作者:行者123 更新时间:2023-11-28 05:49:13 25 4
gpt4 key购买 nike

现在我正在使用 array.map 方法上传每个文件并获取响应的 url,但问题是它在某些文件中给了我“C:\fakepath\pic1”,这会造成困惑,尽管它正确上传了文件(意味着我已经在我的 firebase 存储中看到了图像)但没有返回响应中的 url
这是我用来放置文件的代码

uploadPicsArr.map(function (pic, index) {
var storageRef = fbStorage.ref('images/'+token+'/'+pic.name);
// Upload file to Firebase Storage
var uploadTask = storageRef.put(pic.file);
uploadTask.on('state_changed', null, null, function () {
var downloadUrl = uploadTask.snapshot.downloadURL;
userInfo[pic.name] = downloadUrl;
})
if (uploadPicsArr.length == index + 1) {
fbDatabase.ref('users').push(userInfo).then(function (success){
browserHistory.push('/home');
});
}
})

fbStorage:firebase.storage()
uploadPicsArr = 对象数组,每个对象都有一个属性名称和文件
name:所选文件的名称
文件:选定的文件
请告诉我我做错了什么,或者是否有其他更好的方法来上传整个数组并获取每个文件 URL 作为响应,那就更好了

最佳答案

我认为您忘记将快照作为完整函数中的参数传递:

uploadPicsArr.map(function (pic, index) {
var storageRef = fbStorage.ref('images/'+token+'/'+pic.name);
// Upload file to Firebase Storage
var uploadTask = storageRef.put(pic.file);
uploadTask.on('state_changed', null, null, function (snapshot) {
userInfo[pic.name] = snapshot.downloadURL;
})
if (uploadPicsArr.length == index + 1) {
fbDatabase.ref('users').push(userInfo).then(function (success){
browserHistory.push('/home');
});
}
})

关于javascript - 如何将图像数组上传到 firebase 存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38220935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com