2017-07-28 126 views
0

我有一個Laravel項目,允許上傳照片並將它們存儲在S3存儲桶中。使用Laravel從Amazon S3中下載文件

在特定時間,需要下載整個相冊,該相冊是S3存儲桶中的一個文件夾。因此,它應該作爲包含該相冊照片的ZIP文件下載。

我設法做到這一點,當這些存儲在本地存儲。

public function downloadZip() { 
      $files = glob(public_path('js/*')); 
      Zipper::make('mydir/mytest3.zip')->add($files); 


      return response()->download(public_path('mydir/mytest3.zip')); 
} 

但是,在S3存儲桶中,該方法不起作用。

有沒有辦法做到這一點?

+0

你在本地存儲上使用什麼方法? – ceejayoz

+0

@ceejayoz我更新了這個問題:) – TharinduLucky

+0

好的,是的,這不會起作用。您不能對S3存儲桶使用「glob」。有沒有一種非常簡單的方法來做你想做的 - 你將需要下載文件到你的服務器,並在那裏壓縮。有關爲什麼和可能的方法,請參閱https://stackoverflow.com/questions/16368119/zip-an-entire-directory-on-s3。 – ceejayoz

回答

0

您可以嘗試女將服務功能Async transfers複製文件。這將幫助您獲得s3文件,然後您可以使用您的Zipper邏輯壓縮該文件。