从Heroku调整Amazon S3上的图像大小

时间:2012-08-23 15:20:15

标签: ruby image-processing heroku amazon-s3 imagemagick

  • 我在Amazon S3存储桶中有很多JPEG图像。
  • 我在Heroku上运行了一个Rails应用程序,它知道图像的文件名。
  • rails app不负责将文件上传到S3。事实上,它是相反的:文件被POST到S3,然后根据http://aws.amazon.com/articles/1434/
  • 通过success_action_redirect通知Rails应用程序文件名

Rails应用程序需要灰度,图像的缩略图副本。所以我正在考虑在Rails应用程序中编写一个rake任务来生成副本。

我的问题是:

  1. Heroku上是否支持Imagemagick?
  2. 如果有,是否有关于如何在Heroku上使用Imagemagick的文档?
  3. 如果是这样,我是否必须将文件从S3下载到tmp目录,制作副本然后上传回S3?
  4. 如果是这样,我会收取Amazon S3数据传输费吗?

    ...或

  5. 有更好的方法吗? :)

  6. 谢谢!

2 个答案:

答案 0 :(得分:2)

  1. 这是标准的imagemagick,imagemagick文档就足够了。
  2. 是的,这就是做到这一点的方法。您下载图像,处理它,然后将其发送回S3。一旦您的进程退出,本地文件就会消失。
  3. 没有
  4. ...

    1. 我不这么认为:)

答案 1 :(得分:1)

如果您已拥有图片本身的链接,则可以查看Magickly。但是,我不确定在这方面是否有数据传输费用。您始终可以使用CarrierWave来处理上传到S3以及调整大小和图像处理。

编辑我再次看了你的问题,我发现你的桶中已经有很多JPEG,所以我认为你要找的是第一个。您可以使用Magickly或使用后台工作程序在本地处理调整大小。无论哪种方式,取决于如何选择它,你必须自己获取图像,除非你有一个直接链接到图像。