Мультиаплоад файлов FireaBase
Как сделать, что бы добавлялось несколько изображений, а не одно ?
btn.addEventListener('click',e =>{
const file = document.querySelector('input').files[0]
const storageRef = firebase.storage().ref()
const final = storageRef.child(`images/${file}`)
const task = final.put(file)
})
Ответы (1 шт):
Автор решения: Danil Apsadikov
→ Ссылка
Примерно так:
fileButton.addEventListener('change', function(e){
//Get files
for (var i = 0; i < e.target.files.length; i++) {
var imageFile = e.target.files[i];
uploadImageAsPromise(imageFile);
}
});
//Handle waiting to upload each file using promise
function uploadImageAsPromise (imageFile) {
return new Promise(function (resolve, reject) {
var storageRef = firebase.storage().ref(fullDirectory+"/"+imageFile.name);
//Upload file
var task = storageRef.put(imageFile);
//Update progress bar
task.on('state_changed',
function progress(snapshot){
var percentage = snapshot.bytesTransferred / snapshot.totalBytes * 100;
uploader.value = percentage;
},
function error(err){
},
function complete(){
var downloadURL = task.snapshot.downloadURL;
}
);
});
}