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


Edit images with GraphicsMagick and save them directly to S3 using console or PHP

我使用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也可以作为替代。

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

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

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