首页 > 解决方案 > Firebase Storage 在图片上传时抛出错误(Nodejs)

问题描述

我有一个应用程序邀请用户上传图像文件,然后我打算使用 Firebase 的云存储来存储这些文件。我使用 Firebase 文档已经取得了很大进展,但是当我尝试上传文件时,我不断收到 400 响应。

这是用户上传文件的组件:

class JobEntry extends Component { 
    constructor(props) {
      super(props);
    }

    render() {
      return (
        <div className="single-job-entry">
            <div className="job-item">
              <span className="job-item-label">Add doc?:</span>
              <input type="file"  
                id={this.props.id +"file"} 
                data-id={this.props.id} 
                onChange={this.props.submitDoc} />
            </div>
      </div>
      );
    }
  }

  export default JobEntry;

这是将文件上传到 Firebase 的函数('storage' 和 'resumes' 是 firebase 存储参考):

  submitDoc (e) {
    let jobId = e.target.dataset.id
    let id = this.props.userId
    let file = document.getElementById(jobId + 'file').files[0]

    var newPath = storage.resumes.child(jobId + '/' + file.name)

    newPath.put(file).then(snapshot => {
      console.log('Uploaded file')
    }).catch(err => {
      console.log(err.message)
    })

  }

每次我尝试上传文件时,都会收到此错误:

Firebase Storage: An unknown error occurred, please check the error payload for server response.

我检查了服务器响应,似乎没有任何迹象表明问题所在。

任何帮助表示赞赏!

标签: node.jsreactjsfirebasefirebase-storage

解决方案


事实证明,我必须先在 Firebase UI 中激活存储,然后才能通过 Node.js 进行交互。德普。很高兴知道您是否开始使用 Firebase。在他们的文档中找不到任何提及。


推荐阅读