0
我正在使用離子3和firebase。我試圖一次上傳多個圖像使用每個循環。上傳他們之後,我需要獲得下載URL以將它們存儲在數據庫中。由於獲得的「下載URL」部分是異步的,因此我必須在圖像上傳的.then()部分之後將數據插入數據庫....我該如何解決這個問題?這是我走到這一步,在表單提交後:如何發佈多個圖片到firebase並獲得他們的下載url?
post_news(form: NgForm){
this.title = form.value.title;
this.content = form.value.content;
this.category = form.value.category;
console.log(this.capturedimage1);
if(this.capturedimage1 !== ''){
this.images_to_upload.push(this.capturedimage1);
}
if(this.capturedimage2 !== ''){
this.images_to_upload.push(this.capturedimage2);
}
if(this.capturedimage3 !== ''){
this.images_to_upload.push(this.capturedimage3);
}
if(this.capturedimage4 !== ''){
this.images_to_upload.push(this.capturedimage4);
}
images_url_from_db = [];
this.images_to_upload.forEach(function(item){
let storageRef = firebase.storage().ref();
const filename = Math.floor(Date.now()/1000);
const imageRef = storageRef.child(`images/${filename}.jpg`);
imageRef.putString(item, firebase.storage.StringFormat.DATA_URL).then(data=>{
images_url_from_db.push(downloadURL);
});
})
}