我已经在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');
});
答案 0 :(得分:0)
如您所见,文档没有在回调中使用命名函数,如何将它们转换为匿名函数?
而且,如果您未在错误回调中使用console.log()
,又如何确定没有错误...
请记住,如果控制台方法无法处理控制台,则不会显示任何错误