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

The*_*ipe 3 amazon-s3 bucket amazon-web-services laravel

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

Package Used - "aws/aws-sdk-php": "~3.0",
Run Code Online (Sandbox Code Playgroud)

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

$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);
Run Code Online (Sandbox Code Playgroud)

Dee*_*eva 7

您需要创建一个路径并使用 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));
Run Code Online (Sandbox Code Playgroud)