在AWS S3中调整图像大小

时间:2014-11-05 15:20:48

标签: php amazon-web-services amazon-s3

我有一个PHP REST API,可以托管Amazon S3中的所有图像。我正在寻找一个插件或技巧,使用GET参数来调整图像大小。例如:

http://my-bucket.s3.amazon.com/image.jpg?width=300&height=300

我找到this plugin,但我的团队成员说它是基于ASP.NET的,不适合我的PHP API项目。我应该使用EC2中托管的脚本来调整这些图像的大小吗?还有其他方法吗?欢迎提出想法。

谢谢!

2 个答案:

答案 0 :(得分:1)

如您所述,我建议您根据查询字符串值设置自己的PHP服务来调整图像大小。是的,PHP服务可以托管在AWS EC2或其他托管平台上。该服务需要接收查询字符串,例如:

http://example.com/images/image.jpg?width=300&height=300

这需要配置(可能使用mod_rewrite [1])来接收图像的名称(例如:' image.jpg')并将查询字符串大小值传递到PHP脚本中。然后,脚本将在S3上找到您的图像,使用图像库(例如ImageMagick / PHP GD或PHPThumb [2])调整其大小,将其保存(或不保存)回S3,并在原始请求中传回图像数据

祝你好运!

[1] https://httpd.apache.org/docs/current/mod/mod_rewrite.html

[2] http://phpthumb.sourceforge.net/

答案 1 :(得分:0)

有两种选择:

1)LAMBDA :如果您想使用AWS服务本身,lambda是一个很好的解决方案

http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser.html

AWS lambda代码可以根据配置的值生成缩略图。 AWS Lambda控制台本身有一些可以调整到工作系统的控制台。除非您已登录,否则指向控制台的链接将无法使用。

2)ThirdParty :您可以使用第三方缩放器

Timthumb https://github.com/GabrielGil/TimThumb

TimThumb是一个简单,灵活的PHP脚本,可以调整图像大小。 (确保您的目录具有公共访问权限)

<强> 想象: https://github.com/avalanche123/Imagine

最佳图像处理库已有几年了。 OOP,单元测试,易于使用和MIT许可。如果有人知道另一个质量相同的人,我会感到惊讶并且也想知道它。 :)

EasyphpThumbnail http://www.mywebmymail.com/?q=content/easyphpthumbnail-class

EasyPhpThumbnail Image Effects类允许您即时处理GIF,JPG和PNG的图像处理和PHP缩略图生成。该课程是免费的,100%基于PHP,适用于PHP4(从4.3.11开始)和PHP5,易于使用,并提供了超过60种操作的许多功能: