【发布时间】: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