是否可以使用云功能上传文件?这是我的尝试:
const firebase = require("firebase");
app.post('/images', async function (request, response) {
const data = request.body;
var file = data.image; // base64 image data
const storageRef = firebase.storage().ref(`images/${data.name}`);
storageRef.putString(file, 'data_url').then(function (snapshot) {
response.send('success')
});
})
我遇到错误UnhandledPromiseRejectionWarning: TypeError: firebase.storage is not a function
,我能找到什么例子吗?
答案 0 :(得分:2)
是的,有可能。在Cloud Function中,通常应该使用Admin SDK(firebase-admin
而不是firebase
)。请注意,Admin SDK会绕过安全规则,因此您应确保处理授权以正确上传。
但是,从广义上讲,我认为这实际上并不是您可能想要执行的操作。云功能对请求大小(10MB)的限制相对较低,您必须在上传期间支付计算时间。相反,为什么不只在应用程序本身中使用JS SDK?您的用户仍然可以直接上传到Cloud Storage存储桶中,但不会产生先运行某个功能的额外费用。