使用Javascript上传Firebase文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Javascript上传Firebase文件相关的知识,希望对你有一定的参考价值。

我正在尝试使用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);
          });  
        }
答案

在你的代码中,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);
}

以上是关于使用Javascript上传Firebase文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 react native expo 将文件上传到 firebase 存储

使用angularfire将文件上传到firebase存储

使用 Admin SDK 将文件上传到 Firebase 存储

如何修复 React/Redux/Firebase 错误上传文件到存储

使用 Vuejs 在 Firebase 存储中获取上传文件的 url

如何使用 Swift 5 /SwiftUI 将 AVAudioRecorder 文件上传到 Firebase 存储?