繁体   English   中英

从 REST API 获取图像并将其上传到 Firebase 云存储使用 Z035489FF8D324159ZEEA 功能 Cloud Storage

[英]Getting image from REST API and uploading it to Firebase Cloud Storage using Firebase Cloud Functions

我需要完成什么

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

有什么问题

好吧,我用 AdminSDK 初始化了 Firebase 应用程序(Cloud Functions),因为我需要一些管理功能(例如绕过实时数据库规则)。 根据 Firebase 文档,如果我使用 AdminSDK,那么为了操作云存储,我必须使用“@google-cloud/storage”。

因此,我查找了“@google-cloud/storage”的文档,发现要上传文件,我必须调用方法“.upload”并将文件路径指定为参数。

问题是我没有该文件的路径,因为我将它作为 base64 string 我无法为它生成路径,因为 nodeJS 没有方法 URL.createObjectURL 并且该方法是不可能的。 将该图像写入文件系统也不是解决方案,因为 Cloud Functions 是只读环境。

我尝试过的事情

  • Polyfiling URL.createObjectURL,但它没有用

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

有没有解决这个问题的方法,或者有什么推荐的方法来做这种功能?

解决方案

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM