当用户上传图像并在前端按表单提交(javascript(时,我希望触发this.functions.httpsCallable('uploadImage')
。但是,我不知道如何通过httpsCallable
发送文件。
执行路径应该是这样的:
- 用户选择一个本地文件并按提交
- 提交时,会调用
this.functions.httpsCallable('uploadImage')({imageFile})
- 该函数接收图像并发回适当的响应
- 前端将响应打印给用户
如果有帮助的话,我将使用React with Gatsby作为前端。
由于可调用函数只能来回发送JSON数据,因此必须将文件转换为与JSON兼容的文件。JSON不能保存任意的二进制数据,因此您必须(例如(对文件数据进行base64编码,以将其存储为JSON中的字符串属性。