使用ImageMagick为存储在Amazon S3中的图像生成缩略图

时间:2012-08-30 19:58:36

标签: python amazon-s3 imagemagick imagemagick-convert

我希望使用ImageMagick的转换实用程序为存储在S3中的图像制作缩略图。我是用Python写的。

我该如何处理?

我应该从S3读取图像,将其保存到EC2实例的临时文件夹中,生成缩略图到临时目录,然后将临时文件放入S3并删除它吗?

或者我可以将S3中的结果“直接”导入ImageMagick而不将其存储到本地磁盘吗?

有推荐的方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以将子进程与文件对象一起使用,并直接将它们传递给imagemagick。 例如,我在这里直接将在线png转换为jpg而不使用临时文件。

import subprocess
import urllib2
import sys 
source = urllib2.urlopen('http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png')
p = subprocess.Popen(['convert','png:-', 'jpg:-'], stdin=source, stdout=subprocess.PIPE)
p.communicate()[0] # this is your converted image