Код: Выделить всё
public function upload_image(Request $request)
{
$image = $request->file('file');
$image_resize = Image::make($image->getPathName())->encode('webp');
$image_resize->stream();
$image_resize = $image_resize->__toString();
$listing = Listing::where('id',$request->listing_id)->first();
$folder = $listing->reference_id;
$file_name = Str::slug($listing->reference_id).'-'.time();
$filename_webp = $file_name.'.webp';
$awspath = "assets/images/listing-images/".$folder."/".$filename_webp;
$test = Storage::disk('s3')->put($awspath, $image_resize);
if($test) {
$file = ListingImage::create([
'listing' => $listing->id,
'file_name' => $filename_webp,
'path' => '/'.$awspath.'/'.$filename_webp,
'showcase' => 0,
'thumbnail' => 0,
'image_order' => 0,
]);
}
return response()->json(['data'=>$test, "awspath" => $awspath]);
}
Код: Выделить всё
FILESYSTEM_DISK=s3
...
AWS_ACCESS_KEY_ID=key
AWS_SECRET_ACCESS_KEY=secret
AWS_DEFAULT_REGION=ca-central-1
AWS_BUCKET=bucketname
AWS_USE_PATH_STYLE_ENDPOINT=false
Код: Выделить всё
'default' => env('FILESYSTEM_DISK', 's3'),
'disks' => [
...
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'throw' => false,
],
...
],
Код: Выделить всё
{data: false, awspath: 'assets/images/listing-images/VC-442/vc-442-1720091114.webp'}
Подробнее здесь: https://stackoverflow.com/questions/787 ... avel-fails
Мобильная версия