Upload Image Laravel to Storage


       Tutorial Kali ini kita akan membahas bagaimana cara untuk melakukan upload file gambar berekstensi JPEG, JPG, PNG, dan GIF pada laravel. Pada tutorial ini tidak terbatas hanya untuk upload gambar saja melainkan bisa disesuaikan dengan kebutuhan kalian apakah akan mengupload file gambar atau dokumen berupa pdf, word dan lainnya.


Langkah - Langkah :

1. Mengubah Tabel Database
          Kita tambahkan kolom avatar pada tabel user yang akan digunakan untuk menyimpan gambar yang kita upload.



2. Membuat Symlink
          Karena kita akan menyimpan file yang kita upload ke dalam storage maka kita harus membuat symlink pada agar file yang terupload dapat diakses oleh folder public dan dapat ditampilkan pada app. Berikut perintahnya kalian dapat ketik pada Command Prompt.

php artisan storage:link

3.  Mengedit .env File

         Setelah link sukses terbuat langkah selanjutnya kita menambahkan file sistem driver pada .env agar file yang terupload dapat disimpan pada storage/app/public.

FILESYSTEM_DRIVER = public


4. Membuat Controller


        Kita gunakan validasi untuk file yang diupload adalah gambar dengan ekstensi JPEG, JPG, PNG, dan GIF. Dan kita gunakan Storage untuk menghapus file jika sudah ada agar file tidak bertumpuk - tumpuk tersimpan pada storage.


if($user->avatar){
Storage::delete($user->avatar);
}
$user->avatar = $request->file('avatar')->store('avatars');


           fungsi if pada gambar di atas digunakan untuk mengecek apakah pada pada tabel user kolom avatar memiliki isian / gambar lalu jika ada maka akan dihapus dengan fungsi Storage:delete(). Sehingga file tidak numpuk pada storage. Selajutnya file akan disimpan pada database pada kolom avatar dan di project kita pada storage/app/public/avatars.

Full Code :





5. Membuat Blade



               Make sure kalian menambahkan enctype="multipart/form-data" pada form upload file agar berkas dapat terupload.


<img class="img-profile rounded-circle" src="{{ asset('/storage/' . Auth::user()->avatar) }}" alt="" height="150px" weight="150px"><br><br>

Kode di atas digunakan untuk menampilkan gambar yang telah diupload.

Full Code :

Komentar

Postingan Populer