Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用GraphicsMagick编辑图像,并使用console或PHP将其直接保存到S3_Php_Amazon S3_Graphicsmagick - Fatal编程技术网

使用GraphicsMagick编辑图像,并使用console或PHP将其直接保存到S3

使用GraphicsMagick编辑图像,并使用console或PHP将其直接保存到S3,php,amazon-s3,graphicsmagick,Php,Amazon S3,Graphicsmagick,我正在使用GraphicsMagck编辑用户上传的图像。每个图像的大小调整为若干大小。 首先,我将图像调整为大尺寸,并将其保存为GraphicsMagck临时MPC格式,以便在后续操作中快速访问: gm convert uploaded.jpg -resize "640x800>" +profile "*" -unsharp 0x0.75+0.75+0.008 uniqueid.mpc 然后我将uniqueid.mpc转换为几种大小,并通过aws cli将它们发送到S3: gm conv

我正在使用GraphicsMagck编辑用户上传的图像。每个图像的大小调整为若干大小。 首先,我将图像调整为大尺寸,并将其保存为GraphicsMagck临时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的命令,因为并非所有命令都有助于直接使用文件管道。

谢谢您的回答。目前我正在从这里使用aws:。现在我尝试了:
gm convert 1.jpg-|aws put“Content Type:image/jpg”BUCKET/1.jpg
,但最终图像的颜色被破坏了:(看起来不可靠。使用临时文件时从未发生过这种情况。