Laravel如何下载目录

时间:2018-02-09 09:08:29

标签: laravel amazon-s3

使用Laravel,我正在尝试创建一个可以从S3下载目录中所有文件的函数。

我曾经使用$file = Storage::disk('s3')->allFiles('path');检索文件的所有密钥,但我不知道接下来该做什么。

好像我必须将所有文件下载到本地,然后压缩这些文件,然后下载该zip文件。我想知道是否有更好的方法。

任何建议或建议都将不胜感激。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

使用HTTP协议在同一请求上无法同时发送多个文件。 Laravel也不支持这一点。您必须将文件打包在例如zip文件中。

安装Chumper/Zipper包并返回包含所有文件的zip:

$files = Storage::disk('s3')->allFiles('path');
Zipper::make(public_path('test.zip'))->add($files);

return response()->download(public_path('test.zip'));