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