【发布时间】:2020-11-12 05:02:36
【问题描述】:
我正在构建一个 REST API,其中 node/express/mongoDB 部署在 Netlify 函数上(数据库直接来自 MongoDB Atlas)。我想做的是创建一个 API 路由,允许将图像作为 POST 请求中的字段之一上传。 Express 然后将此文件上传到 Google Cloud Storage,获取新上传的图片 url,并将此 url 作为文档字段之一存储在数据库中。
我想到的一个选项是使用multer。由于它被部署为无服务器功能,Express 无法访问任何存储。这意味着我无法使用multer 将图像存储在本地,并且将其保存在内存中会导致太多潜在问题(图像是视频游戏屏幕截图,因此它们非常庞大)。目前,这是不行的,或者至少不是我理想的选择。
我认为最理想的方法是以某种方式直接将此文件从 API 路由处理直接上传到 Google Cloud Storage。 This was achieved by Ben Awad,但我对他的代码知之甚少(resolvers?express.static()?Mutation?)。几乎是我在每一行都拔头发。
我不知道如何在没有multer 的情况下访问从 POST 请求上传的文件,更不用说将其直接上传到 GCS。
我应该如何处理这个问题?
【问题讨论】:
标签: node.js rest express google-cloud-storage backend