0

我正在寻找使用 ImageMagick 的转换实用程序为存储在 S3 中的图像制作缩略图。我正在用 Python 写这个。

我应该如何处理这个?

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

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

有推荐的方法吗?

提前致谢。

4

1 回答 1

1

您可以将 subprocess 与文件对象一起使用,并将它们直接通过管道传输到 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
于 2012-08-30T20:33:06.197 回答