我需要使用firebase-admin
将文件从Node脚本上传到Firebase存储。
这是我在浏览器中执行的操作:(工作)
// THIS IS INSIDE A FUNCTION
const storageRef = firebase.storage().ref('my-images/' + fileName);
const uploadTask = storageRef.put(file,metadata);
这是我尝试在“节点”脚本中执行的操作:
const admin = require('firebase-admin');
admin.initializeApp();
// THIS IS INSIDE A FUNCTION
const storageRef = admin.storage().ref('my-images/' + fileName);
const uploadTask = storageRef.put(file,metadata);
我收到错误:
TypeError: admin.storage(...).ref is not a function
我也尝试过:
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
storageBucket: "MY_BUCKET.appspot.com"
});
// THIS IS INSIDE A FUNCTION
const storageRef = admin.storage().bucket().ref('my-images/' + fileName);
const uploadTask = storageRef.put(file,metadata);
我收到错误:
TypeError: admin.storage(...).bucket(...).ref is not a function
问题
我需要将文件保存在my-images
文件夹中的默认存储桶中。正确的做法是什么?
答案 0 :(得分:1)
与Google Cloud Storage Node.js Client相比,您需要使用与JavaScript SDK相比不同的方法。
更准确地说,您需要使用upload()
的Bucket
方法,如下所示:
bucket.upload('my-images/' + fileName).then(function(data) {
const file = data[0];
});
您将在文档中找到更多示例(上面的链接)