我在网络托管上有一个网页,图像存储在Amazon S3上.我想用php能够通过我的网页以zip文件从Amazon S3下载多个图像.
我有什么选择,什么是最好的?
我所知道的是,无法在S3上压缩文件.我可以使用亚马逊lambda吗?
我遇到的最佳解决方案.
>用户在我的网站上选择他们想要下载的图像.
>我从我的网络主机上的数据库中获取文件名并下载
从S3到我的Web主机上的临时目录的映像.
>在临时目录中创建一个zip文件,并发送一个链接
给用户.一段时间后,我在我的网络主机上清理临时目录(带脚本).
但如果有一种方法没有通过我的托管来创建和下载zip文件,那将是很棒的.
解决方法
AWS S3是“基本构建块”,因此它不支持将多个对象压缩在一起的功能.
虽然您可以将对象流式传输到zip文件而不是下载它们,但您已经想出了一个很好的方法. EC2实例可以非常快速地执行此操作,因为它们往往具有到S3的快速连接.
Lambda不适用于此,因为它仅在将对象放入S3存储桶时触发.你正在做相反的事情.