【问题标题】:Saving Images to S3 from External URL with Node.js and MongoDB使用 Node.js 和 MongoDB 从外部 URL 将图像保存到 S3
【发布时间】:2012-05-20 00:20:02
【问题描述】:

我正在尝试使用 Node.js 和 MongoDB 将图像从第三方 API 保存到我自己的 S3 存储桶中。 API 提供第三方服务器上图像的 URL。我以前从未这样做过,但我假设我必须将图像下载到我自己的服务器,然后将其上传到 S3?

我应该使用 GridFS 将图像保存到 mongodb,然后在 S3 上删除它吗?如果是这样,最好的方法是什么?

我已经阅读并重新阅读了上一个问题:

Problem with MongoDB GridFS Saving Files with Node.JS

但我找不到关于如何确定 JPEG 图像文件的缓冲区/块大小和其他属性的好的文档。

一旦我将文件保存在我的服务器/数据库上,那么我似乎应该使用:

https://github.com/appsattic/node-awssum

将其上传到 S3。这是个好主意吗?

如果这是一个显而易见的答案,我深表歉意,我在数据库和服务器脚本方面非常环保。

【问题讨论】:

  • 使用默认的块大小,除非图像相对较小,在这种情况下,您可以将它们作为二进制类型存储在常规文档中。

标签: node.js mongodb amazon-s3


【解决方案1】:

最简单的做法是将图像保存到磁盘上,然后使用 AwsSum 的 S3 PutObject 操作从那里流式传输上传。或者,如果您在 Buffer 中有文件内容,则可以使用它。

看看下面的两个例子,它们应该可以帮助你弄清楚该怎么做:

如果您需要更多帮助,请告诉我。 :)

干杯, 安迪

免责声明:我是 AwsSum 的作者。

【讨论】:

  • 嗨,安迪,很抱歉在接受这个答案方面出现了巨大的延迟,我没​​有收到您已回复的提醒。这实际上很可悲,但自从你回复后我就没有处理过这个问题,所以这对我来说仍然很重要。谢谢!
  • 链接失效:(
  • 这是一个巨大的瓶颈,您可以将请求从图像位置流式传输到 s3。
猜你喜欢
  • 1970-01-01
  • 2021-06-10
  • 1970-01-01
  • 1970-01-01
  • 2013-12-20
  • 2018-04-20
  • 1970-01-01
  • 1970-01-01
  • 2020-12-30
相关资源
最近更新 更多