从 Amazon S3 下载 zip 文件中的多个图像?

Xtr*_*eme 5 php amazon-s3 amazon-web-services

我在网络托管上有一个网页,图像存储在 Amazon S3 上。我希望 php 能够通过我的网页以 zip 文件形式从 Amazon S3 下载多个图像。

我的选择是什么?什么是最好的?

据我所知,在 S3 上压缩文件是不可能的。我可以使用亚马逊 lambda 吗?

我遇到过的最好的解决方案。

  1. 用户在我的网站上选择他们想要下载的图像。
  2. 我从 Web 主机上的数据库获取文件名,并将图像从 S3 下载到 Web 主机上的临时目录。

  3. 将在临时目录中创建 zip 文件并将链接发送给用户。一段时间后,我清除了网络主机上的临时目录(使用脚本)。

但如果有一种方法不需要通过我的托管来创建和下载 zip 文件,那就太好了。

ted*_*r42 1

AWS S3 是“基本构建块”,因此它不支持将多个对象压缩在一起之类的功能。

您已经想出了一个很好的方法来做到这一点,尽管您可以将对象流式传输到 zip 文件中而不是下载它们。EC2 实例可以非常快地完成此操作,因为它们往往可以快速连接到 S3。

Lambda 对此不起作用,因为它仅在将对象放入 S3 存储桶时才会触发。你正在做相反的事情。