Di laravel menggunakan AWS S3 untuk penyimpan sangat mudah, karena sudah terintegrasi dengan filesystem laravel.

Buat Bucket S3

Klik Create Bucket
new bucket s3

Bucket name : laravels3-upload
Region : Asia Pacific (Singapore)

di Configure Options jangan isi apapun.
configure options bucket s3

Set Permission
Hilangkan tanda checklist di Block all public access

Review
create bucket s3 review
klik Create Bucket

Upload dari Laravel 6

Bila belum menginstall laravel 6, install dengan

composer create-project --prefer-dist laravel/laravel laravel-upload-s3 6.*

lalu install flysystem-aws-s3, untuk menghandle proses upload ke s3

cd laravel-upload-s3
composer require league/flysystem-aws-s3-v3

edit file config/filesystems.php, tambahkan visibility di s3

'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'),
    'visibility' => 'public',

edit file .env, tambahkan credential S3 anda, sesuaikan dengan nama bucket yang dibuat sebelumnya

AWS_ACCESS_KEY_ID=AKIAXXXXXXXXXXXXXXXXXXXX
AWS_SECRET_ACCESS_KEY=sntMRjy4ejJpVxWLbhVXsntMRjy4ejJpVxWLbhVX
AWS_DEFAULT_REGION=ap-southeast-1
AWS_BUCKET=laravels3-upload
AWS_URL=

Tes Upload

Edit file routes/web.php dibagian paling bawah tambahkan

Route::get('/upload', function () {
    $fileGambar = "/home/tommy/photo-1573002649606-a7cb9846805c.jpg";
    $contents = file_get_contents("$fileGambar");
    $namaFile = basename($fileGambar);
    $filePath = 'images/' . "$namaFile";
    $file = Storage::disk('s3')->put($filePath, $contents, 'public');
    $data = Storage::url("images/" .$namaFile);
    var_dump($data);
});

ganti path $fileGambar dengan lokasi file gambar anda.
Jalankan php artisan serve, lalu buka http://127.0.0.1:8000/upload
laravel 6 upload s3

Buka file dari url diatas
laravel s3 sukses upload

file sukses di upload. Setelah sukses tes dan lihat hasilnya, sekarang bisa dibuat form untuk upload beserta validasinya bisa mengikuti langkah-langkah di Membuat Upload Gambar Dengan Laravel 5.2

Join the Conversation

2 Comments

Your email address will not be published. Required fields are marked *