How to upload multiple files to Firebase?

前端 未结 8 1882
既然无缘
既然无缘 2020-12-04 16:44

Is there a way to upload multiple files to Firebase storage. It can upload single file within single attempt as follows.

fileButton.addEventListener(\'chang         


        
8条回答
  •  执念已碎
    2020-12-04 17:38

    I found the solution for my above question and I like to put it here because it can be useful for anyone.

    //Listen for file selection
    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;
                }
            );
        });
    }
    

提交回复
热议问题