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

时间:2018-08-22 06:15:33

标签: firebase google-cloud-functions

背景

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

规格:

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

问题:

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

谢谢。

ABC。

1 个答案:

答案 0 :(得分:1)

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

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