Vuejs 和 Firebase 存储问题。未捕获的类型错误:存储不是函数

Posted

技术标签:

【中文标题】Vuejs 和 Firebase 存储问题。未捕获的类型错误:存储不是函数【英文标题】:Vuejs & Firebase Storage problem. Uncaught TypeError: storage is not a function 【发布时间】:2019-11-09 21:35:25 【问题描述】:

我正在使用 Vuejs 和 Firebase 创建一个小项目。尝试将图像上传到 Firebase 存储。我检查了他们的文档和一些教程。但坚持这个错误。

未捕获的类型错误:WEBPACK_IMPORTED_MODULE_1__firebase_init.a.storage 不是函数

// init.js

import firebase from 'firebase'
import firestore from 'firebase/firestore'
import 'firebase/storage'



// components/AddItem.vue   

 <input type="file" @change="uploadImage" value="Upload Image"/> 

uploadImage(e)

  var file = e.target.files[0]
  var storageRef = firebase.storage().ref('products/'+file.name).put(file)  


【问题讨论】:

db 定义在哪里? 我编辑了.. 现在它的 firebase.storage().ref('products/'+file.name).put(file) 你能告诉我问题出在哪里吗? 【参考方案1】:

如果您将storageRef 设置为var,则需要在该storageRef 上调用.put()

https://firebase.google.com/docs/storage/web/upload-files#upload_from_a_blob_or_file

使用您的代码...

uploadImage(e)

  var file = e.target.files[0]
  var storageRef = firebase.storage().ref('products/'+file.name)
  storageRef.put(file)


【讨论】:

以上是关于Vuejs 和 Firebase 存储问题。未捕获的类型错误:存储不是函数的主要内容,如果未能解决你的问题,请参考以下文章

VueJs 3 - Vuex:未捕获的类型错误:存储不是函数

无法读取未定义的 VueJS Firebase 的属性“forEach”

TypeError:无法读取未定义的属性(读取“集合”)-Vuejs 和 Firebase

未捕获的不变违规:存储错误

未捕获的 ReferenceError: $ 未定义 (VueJS)

使用 VueJs 在 firebase 中上传和下载存储图像