使用Javascript上传Firebase文件

问题描述 投票:0回答:1

我正在尝试使用JavaScript将文件上传到firebase存储。

var fileButton = document.getElementById("fileButton");
fileButton.addEventListener('change', function(e){
                    e.preventDefault();
                  var file = e.target.files[0];
                  var storageRef = firebase.storage().ref(userID + '/profilePicture/'+file.name);
                  storageRef.put(file);
              });  

上面的代码工作正常,但现在我正在尝试上传表单提交上的图像,这是无效的:

<form>
<input type="file" id="fileButton"/>
<input type="submit" value="push" onsubmit="myFunction()"/>
</form>
//function
function myFunction() {
            var fileButton = document.getElementById("fileButton");
          fileButton.addEventListener('submit', function(e){
                e.preventDefault();
              var file = e.target.files[0];
              var storageRef = firebase.storage().ref(userID + '/profilePicture/'+file.name);
              storageRef.put(file);
          });  
        }
javascript firebase javascript-events firebase-storage
1个回答
0
投票

在你的代码中,myFunction()只是将Listener添加到该按钮,而不是真正将文件上传到数据库。你应该做的是:

function myFunction() {
    var fileButton = document.getElementById("fileButton");
    var file = fileButton.files[0];
    var storageRef = firebase.storage().ref(userID + '/profilePicture/'+file.name);
    storageRef.put(file);
}
© www.soinside.com 2019 - 2024. All rights reserved.