使用GraphicsMagick编辑图像并使用控制台或PHP将它们直接保存到S3

时间:2013-05-31 20:15:50

标签: php amazon-s3 graphicsmagick

我正在使用GraphicsMagick编辑用户上传的图片。每个图像都调整为几种尺寸。 首先,我将图像调整为大尺寸并将其保存为GraphicsMagick临时MPC格式,以便在进一步操作期间快速访问:

gm convert uploaded.jpg -resize "640x800>" +profile "*" -unsharp 0x0.75+0.75+0.008 uniqueid.mpc

然后我将uniqueid.mpc转换为几种尺寸并通过aws-cli将它们发送到S3:

gm convert uniqueid.mpc -quality 90 640x.jpg
gm convert -size 400x400 uniqueid.mpc -resize "200x200^" -gravity Center -crop "200x200+0+0" -quality 90 -unsharp 1.5x1+0.7+0.02 200x.jpg

如何跳过创建临时文件640x.jpg,200x.jpg等并直接将结果保存到S3?命令行是首选,PHP和PHP扩展名GMagick可以用作替代。

1 个答案:

答案 0 :(得分:1)

通过用-替换目标图像名称,您可以将文件输出到管道或将文件捕获到变量中。

gm convert uniqueid.mpc -quality 90 - | aws-storage-command
jpg640=`gm convert uniqueid.mpc -quality 90 -`

我需要知道您确切的AWS命令,告诉您如何将此管道传回您的命令,将文件移动到S3,因为并非所有命令都有利于直接文件管道。