Firebase Web /将文件上传到Firebase存储不起作用

时间:2018-08-20 20:58:03

标签: firebase web firebase-storage addeventlistener

我已经在YouTube上观看了“ Web上的Firebase存储入门”。我将其应用于我的代码,并且效果很好。但是我想上传步骤与选择文件步骤分开。因此,我创建了上载按钮,并向该按钮添加了事件监听器。 (因此,我将视频中的代码基本分成了两个事件侦听器函数,因为我又想选择一个文件并上传文件两个单独的操作。)

我真的不明白为什么它不起作用。它在我的日志控制台上没有给我任何错误。谁能告诉我为什么这不起作用,我该如何解决?谢谢。

var uploader = document.getElementById('uploader');
var fileButton = document.getElementById('fileButton');
var uploadButton = document.getElementById('uploadButton');
var file;

fileButton.addEventListener('change', function(e) {
    file = e.target.files[0];
});


uploadButton.addEventListener('click', function(e) {
    var fileName = file.name;
    var storageRef = firebase.storage().ref('images/' + fileName);
    var task = storageRef.put(file);

    task.on('state_changed',
        function progress(snapshot) {
            var percentage = (snapshot.bytesTransferred/snapshot.totalBytes) * 100;
            uploader.value = percentage;
        },
        function error(err) {

        },
        function complete() {

        }
    );

    window.alert('Upload Done');
});

1 个答案:

答案 0 :(得分:0)

如您所见,文档没有在回调中使用命名函数,如何将它们转换为匿名函数

而且,如果您未在错误回调中使用console.log(),又如何确定没有错误...

请记住,如果控制台方法无法处理控制台,则不会显示任何错误

Firebase Upload Files - Monitor Upload Progress