Firebase云功能:使用存储putString

时间:2018-10-18 18:00:59

标签: firebase google-cloud-functions firebase-storage

是否可以使用云功能上传文件?这是我的尝试:

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,我能找到什么例子吗?

1 个答案:

答案 0 :(得分:2)

是的,有可能。在Cloud Function中,通常应该使用Admin SDKfirebase-admin而不是firebase)。请注意,Admin SDK会绕过安全规则,因此您应确保处理授权以正确上传。

但是,从广义上讲,我认为这实际上并不是您可能想要执行的操作。云功能对请求大小(10MB)的限制相对较低,您必须在上传期间支付计算时间。相反,为什么不只在应用程序本身中使用JS SDK?您的用户仍然可以直接上传到Cloud Storage存储桶中,但不会产生先运行某个功能的额外费用。

相关问题