使用Firebase云函数从REST API获取图像并将其上传到Firebase云存储



我需要完成的任务

我需要从其余的API(base64(中获取图像,并将单个图像写入Firebase云存储。成功写入映像后,将日志写入Firebase实时数据库。

有什么问题

好吧,我用AdminSDK初始化了Firebase应用程序(云函数(,因为我需要一些管理功能(例如绕过实时数据库规则(。根据Firebase文档,如果我使用AdminSDK,那么为了操作云存储,我必须使用"@谷歌云/存储";。

所以我查阅了"@谷歌云/存储";并发现为了上传文件,我必须调用方法";。上传";并指定文件的路径作为参数。

问题是我没有该文件的路径,因为它是base64字符串。我无法为它生成路径,因为nodeJS没有URL.createObjectURL方法,并且不可能对该方法进行polyfileing。另外,将该映像写入文件系统并不是解决方案,因为Cloud Functions是只读环境。

我尝试过的东西

  • Polyfileing URL.createObjectURL,但它不工作

  • 使用nodeJS模块FS将REST API中的图像写入文件系统,上传到云存储,然后删除。

有没有解决这个问题的方法,或者推荐一些实现这种功能的方法

解决方案

我的第二个解决方案(使用fs编写临时文件(几乎是正确的,但我忘记将文件目标指定为/tmp。在Firebase中,云功能是除/tmp只读存储之外的一切。

相关内容

  • 没有找到相关文章

最新更新