使用laravel上传到s3 bucket文件夹

时间:2017-09-07 11:16:56

标签: laravel amazon-web-services amazon-s3 bucket

我目前正在使用此软件包进行亚马逊文件上传并且可以正常工作,唯一的问题是我不知道如何在我选择的存储桶中指定文件夹。

Package Used - "aws/aws-sdk-php": "~3.0",

这是我目前上传到存储桶的方式

$imageName = time().'.'.$request->image->getClientOriginalExtension();
$image = $request->file('image');
$t = Storage::disk('s3')->put($imageName, file_get_contents($image), 'public');
$imageName = Storage::disk('s3')->url($imageName);

1 个答案:

答案 0 :(得分:2)

您需要创建一个路径并使用put方法而不是$imageName来存储在该特定的存储桶路径中。它将根据路径创建文件夹。

例如如果您将路径设置为$path = "folder_1/folder_2/file.pdf",则s3驱动程序会将file.pdf存储在folder_1内的folder_2中。

$imageName = time().'.'.$request->image->getClientOriginalExtension();
$image = $request->file('image');

//image stored in folder name image_folder
$path = "image_folder/".$imageName;

$t = Storage::disk('s3')->put($path, file_get_contents($image));