`firebase.functions().httpsCallable` 如何将文件提交给 `functions.https.onCall`?

ABC*_*ABC 5 firebase google-cloud-functions

背景:

  1. 我们希望允许用户将文件上传到我们的网站
  2. 文件在写入 Cloud Storage 之前需要经过验证和修改
  3. 在允许用户上传文件之前,我们还需要对用户进行身份验证
  4. 而且,我们需要在将文件写入 Cloud Storage 之前执行一些 Firestore 调用

规格:

  • 我们正在使用前端调用 Cloud Functions firebase.functions().httpsCallable
  • 后端使用 functions.https.onCall

题:

如何firebase.functions().httpsCallable提交文件functions.https.onCall

先感谢您。

ABC。

Dou*_*son 6

这实际上并不是可调用函数的预期用例。Callables 旨在将 JSON 有效负载发送到服务器,而不是文件。如果您确实想将(小)文件发送到函数,则需要将其进行 Base64 编码为字符串,并将该字符串放入 JSON 有效负载中,然后在函数中对其进行解码。

相反,请考虑允许客户端直接上传到存储,然后使用函数通过存储触发器对其进行验证,如果无效则将其删除。