我希望使用ImageMagick的转换实用程序为存储在S3中的图像制作缩略图。我是用Python写的。
我该如何处理?
我应该从S3读取图像,将其保存到EC2实例的临时文件夹中,生成缩略图到临时目录,然后将临时文件放入S3并删除它吗?
或者我可以将S3中的结果“直接”导入ImageMagick而不将其存储到本地磁盘吗?
有推荐的方法吗?
提前致谢。
答案 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