System time(GMT+7): 22:41:36 31/05/2023

Upload lưu trữ file trên amazon s3 - laravel

Cấu hình tài khoản amazon s3

Login và vào link: console.aws.amazon.com

Chọn Services -> Storage -> S3

 

Chọn Bucket -> create bucket (Nếu muốn folder + file ở chế độ public thì bỏ check ở ô Block all public access)

 

Search iam và chọn dịch vụ IAM

 

Menu bên trái chọn Users -> add user

 

Chọn như hình rồi next

Chọn create group (hoặc chọn vào group đã có sẵn)

Search amazons3 và AmazonS3FullAccess

 

Bấm next qua phần add tags (phần này là tuỳ chọn ,bỏ qua ko cần nhập) , bấm next tiếp

Đến trang cuối , xem lại thông tin đã đúng chưa , bấm create user là xong

Đến đây các bạn đã có thông tin của ID key + secret key

 

 

Cấu hình + code laravel

Thêm thông tin vào file .env:

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=(Xem trong phần quản lý bucket - Chỉ điền phần có dạng: ap-southeast-1 )
AWS_BUCKET=Tên bucket

Cài thư viện: composer require league/flysystem-aws-s3-v3

Code upload 1 file lên s3:

$filename = 'test.png';
$filepath = storage_path('app/public/1.png'); /* đường dẫn tới file cần upload */
\Storage::disk('s3')->put($filename, \File::get($filepath));

Nếu tên file giống nhau , file upload sau sẽ đè lên file trước đó