使用 laravel 上传到 s3 存储桶文件夹

upload to s3 bucket folder with laravel

我目前正在使用这个包上传亚马逊文件并且它有效,唯一的问题是我不知道如何在我选择的存储桶中指定一个文件夹。

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);

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

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

$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));