首页 > 解决方案 > React Firebase 商店不保存 zip

问题描述

我正在尝试保存用户上传的 zip 文件。我阅读了有关 Firebase 的说明,并使用了 firebase 说明中所说的内容,但是当我检查存储时,名称为未定义的文件被保存,但文件类型显示为 zip。我在上传文件时使用的代码如下所示:

let reader = new FileReader()
    var loads = [];
    reader.onload = (function (f) {
        return function (e) {
            var data = this.result; 

            loads.push({
                data: data
            });
            console.log(loads)
        };
    });
    var file = new Blob(loads)

    var metadata = {
        contentType: 'application/zip'
    };

    var uploadTask = storage.ref().child('CodeHomeworks/' + file.name).put(file, metadata);

    uploadTask.on(Firebase.storage.TaskEvent.STATE_CHANGED,  
        function (snapshot) {
            var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
            console.log('Upload is ' + progress + '% done');
            switch (snapshot.state) {
                case Firebase.storage.TaskState.PAUSED:  
                    console.log('Upload is paused');
                    break;
                case Firebase.storage.TaskState.RUNNING:  
                    console.log('Upload is running');
                    break;
            }
        }, function (error) { 
        }, function () { 
            uploadTask.snapshot.ref.getDownloadURL().then(function (downloadURL) {
                console.log('File available at', downloadURL);
            });
        });  

标签: reactjsfirebasegoogle-cloud-firestorereact-reduxgoogle-cloud-functions

解决方案


推荐阅读