Download file in aws S3 Laravel 5.1

I get the following error:

FatalErrorException in line FilesystemManager.php 179: class 'League \ Flysystem \ AwsS3v3 \ AwsS3Adapter' not found

Code:

//Composer.json "require": { "php": ">=5.5.9", "laravel/framework": "5.1.*", "laravel/socialite": "~2.0", "guzzlehttp/guzzle": "~4.0", "predis/predis": "^1.0", "tymon/jwt-auth": "0.5.*", "league/flysystem-aws-s3-v2": "^1.0" }, "require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1" } //config/filesystem.php 'default' => 's3', 'cloud' => 's3', 'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), ], 's3' => [ 'driver' => 's3', 'key' => '***********', 'secret' => '**************************************', 'region' => '*****', 'bucket' => '************', ], ], //FileController namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use Illuminate\Contracts\Filesystem\Filesystem; use App\Http\Controllers\Controller; use JWTAuth; use Tymon\JWTAuth\Exceptions\JWTException; public function postProfilePhoto(Request $request) { $token=JWTAuth::getToken(); $user = JWTAuth::toUser($token); $image = $request->file('image'); //return $image; $id=$user->id; if($image) { $imageFileName = time() . '.' . $image->getClientOriginalExtension(); //return $imageFileName; $s3 = \Storage::disk('s3'); $filePath = '/profilePhotos/'.$id . $imageFileName; $s3->put($filePath, file_get_contents($image), 'public'); try{ ProfilePhoto::create(['userId'=>$id,'imgUrl'=>$filePath]); return json_encode(['message'=>'Done!','Id'=>200,'Response'=>'']); } catch(Exception $e) { return json_encode(['message'=>'Not Allowed!','Id'=>402,'Response'=>'']); } } else { return json_encode(['message'=>'No Pic!','Id'=>404,'Response'=>'']); } } 
+5
source share
1 answer

You need to start the console first:

 composer remove league/flysystem-aws-s3-v2 

and then you need to start the console:

 composer require league/flysystem-aws-s3-v3:~1.0 

to install the S3 file system.

Laravel 5.1+ requires version V3 , not V2.

+14
source

Source: https://habr.com/ru/post/1239706/


All Articles