Мультиаплоад файлов 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;
            }
        );
    });
}

Источник: https://stackoverflow.com/a/41674836/11695435

→ Ссылка