我正在将一系列o图像上传到firebase存储,我需要将这些图像的所有URL链接到firebase数据库。这是我到目前为止使用的代码:
var imgArray = []
for (var i=0; i < document.getElementById("myFile").files.length; i++){
var selectedFile = document.getElementById("myFile").files[i];
var selectedStorageRef = firebase.storage().ref(this.estado + "/" + this.cidade + "/" + document.getElementById("nome-do-pico").value + "/" + selectedFile.name);
var uploadTask = selectedStorageRef.put(selectedFile);
uploadTask.on('state_changed', null, null, function (snapshot){
var downloadURL = uploadTask.snapshot.downloadURL;
imgArray.push(downloadURL);
console.log(imgArray);
});
}
我们的想法是首先将它们全部放入数组中,但我总是得到最后一个URL。如果我尝试上传3个图像,例如有时我甚至会得到一个[null,URL,URL]或[null,null,URL]数组。我很少得到3个URL,并且在每种情况下它们都是相同的。
答案 0 :(得分:0)
也许在downloadURL声明的开头删除var
?
答案 1 :(得分:0)
LIBS += -framework VideoDecodeAcceleration
方法返回一个promise,你应该使用libavcodec.a(vda_h264.o)
方法对数组进行推送。
这样的事情:
.put()