如何在使用 Laravel 上传到 AWS S3 后检索图像的名称以存储在图像 table 中?
How to retrieve image's name to store in image table after uploading on AWS S3 using Laravel?
我正在使用 laravel8 和打包 (league/flysystem-aws-s3-v3) 以及以下代码在 AWS S3 上上传图像。
$image = $request->file('image');
$data['image_name'] = time().'.'.$image->getClientOriginalExtension();
$data['path'] = Storage::disk('s3')->put('images', $request->image);
$data['ab'] = Storage::disk('s3')->url($data['path']);
return $data;
上传成功后,以上代码正在返回
{
"image_name": "1644919540.jpg",
"path": "images/SYrPZTqDQgSuIvqBZzdrSX5JEmRQhwEC3muYDvJO.jpg",
"ab": "https://abc-user-images.s3.ap-south-1.amazonaws.com/images/SYrPZTqDQgSuIvqBZzdrSX5JEmRQhwEC3muYDvJO.jpg"
}
我只需要检索路径变量中的图像名称,例如
"path":"SYrPZTqDQgSuIvqBZzdrSX5JEmRQhwEC3muYDvJO.jpg"
需要使用ltrim(string,charlist)
$image = $request->file('image');
$data['image_name'] = time().'.'.$image->getClientOriginalExtension();
$data['path'] = Storage::disk('s3')->put('images', $request->image);
$data['ab'] = Storage::disk('s3')->url($data['path']);
$image = ltrim($data['path'],"images/");
return $image;
$image 有你需要的。
$image_data['image_n'] = Str::of($data['path'])->substr(7);也在工作。
这是返回准确的图像名称。
{
"image_name":"SYrPZTqDQgSuIvqBZzdrSX5JEmRQhwEC3muYDvJO.jpg"
}
我正在使用 laravel8 和打包 (league/flysystem-aws-s3-v3) 以及以下代码在 AWS S3 上上传图像。
$image = $request->file('image');
$data['image_name'] = time().'.'.$image->getClientOriginalExtension();
$data['path'] = Storage::disk('s3')->put('images', $request->image);
$data['ab'] = Storage::disk('s3')->url($data['path']);
return $data;
上传成功后,以上代码正在返回
{
"image_name": "1644919540.jpg",
"path": "images/SYrPZTqDQgSuIvqBZzdrSX5JEmRQhwEC3muYDvJO.jpg",
"ab": "https://abc-user-images.s3.ap-south-1.amazonaws.com/images/SYrPZTqDQgSuIvqBZzdrSX5JEmRQhwEC3muYDvJO.jpg"
}
我只需要检索路径变量中的图像名称,例如
"path":"SYrPZTqDQgSuIvqBZzdrSX5JEmRQhwEC3muYDvJO.jpg"
需要使用ltrim(string,charlist)
$image = $request->file('image');
$data['image_name'] = time().'.'.$image->getClientOriginalExtension();
$data['path'] = Storage::disk('s3')->put('images', $request->image);
$data['ab'] = Storage::disk('s3')->url($data['path']);
$image = ltrim($data['path'],"images/");
return $image;
$image 有你需要的。
$image_data['image_n'] = Str::of($data['path'])->substr(7);也在工作。
这是返回准确的图像名称。
{
"image_name":"SYrPZTqDQgSuIvqBZzdrSX5JEmRQhwEC3muYDvJO.jpg"
}