javascript - Firebase 存储错误 - 不是函数
问题描述
使用html/JS
,我正在尝试编写文件。
我在html
头上包括了这个:
<head>
<script src="https://www.gstatic.com/firebasejs/5.7.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.7.0/firebase-firestore.js"></script>
然后在最后body
我有:
//...
<script src="javascripts/main.js"></script>
<script>
var config = {
apiKey: "xxx",
authDomain: "xxxx.firebaseapp.com",
databaseURL: "https://xxxx.firebaseio.com",
projectId: "xxxx",
storageBucket: "xxxx.appspot.com",
messagingSenderId: "xxxxx"
};
firebase.initializeApp(config);
const db = firebase.firestore();
db.settings({timestampsInSnapshots:true});
</script>
然后在main.js
我尝试写入 storgae 时在文件上:
var storageRef = firebase.storage().storage.ref()('me/' + file.name);
var task=storageRef.put(file);
task.on('state_changed',
function progress(snapshot){console.log(snapshot.bytesTransferred)},
function error(err){},
function complete(){});
我在控制台上收到此错误:
firebase.storage is not a function
编辑:
Tried again and got same error with :
// Create a root reference
var storageRef = firebase.storage().ref();
// Create a reference to 'images/mountains.jpg'
var finalRef = storageRef.child('me/' + file.name);
finalRef.put(file).then(function(snapshot){
console.log('uploading');
});
解决方案
你还需要添加这个:
<script src="https://www.gstatic.com/firebasejs/5.7.0/firebase-storage.js"></script>
能够使用firebase存储api。
也改变这个:
var storageRef = firebase.storage().storage.ref()('me/' + file.name);
进入这个:
var storageRef = firebase.storage().ref('me/' + file.name);
检查此以获取更多信息:
https://firebase.google.com/docs/storage/web/create-reference
推荐阅读
- android - 无法销毁活动 Android
- python - python中的ZScore计算值与预期不同
- javascript - 如何测试在 Cypress 中没有使用 route2 调用请求?
- javascript - Mongoose 更新完全替换了以前的文档
- sapui5 - 可编辑时 UI5 显示占位符为 false
- autodesk-forge - Autodesk Forge Viewer 获取片段位置
- java - android/java - 等待从时间返回一个消耗方法(例如:apicall)然后执行其他代码
- sapui5 - 如何在 ui5 主题库的构建过程中使 node_modules 文件夹可访问?
- swift - 更改 UIBarButtonItem 的色调颜色
- php - laravel vuejs 表单提交返回与查询字符串相同的页面