【问题标题】:Firebase Web / Uploading file to Firebase Storage Not WorkingFirebase Web / 将文件上传到 Firebase 存储不起作用
【发布时间】:2019-01-27 00:49:57
【问题描述】:

我在 YouTube 上观看了“网络上的 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');
});

【问题讨论】:

    标签: firebase web firebase-storage addeventlistener


    【解决方案1】:

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

    另外,如果你没有在错误回调中使用console.log(),你怎么能确定没有错误...

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

    Firebase Upload Files - Monitor Upload Progress

    【讨论】:

    • 内部回调,所以你的意思是把函数进度(快照)改成函数(快照),例如?
    • 是的,我不希望它 100% 有效,但值得一试,另一件事是将 console.error() 添加到错误函数中
    猜你喜欢
    • 2017-09-17
    • 2023-03-14
    • 1970-01-01
    • 2018-03-17
    • 2020-04-30
    • 2021-03-29
    • 2019-09-06
    • 2022-01-12
    • 2019-11-06
    相关资源
    最近更新 更多