Mudahnya Upload dan Resize Gambar Pada Laravel

Tutorial Lengkap Upload dan Resize Gambar Laravel -  Gambar merupakan salah satu elemen ilustrator penting pada website. Tak jarang banyak yang rela membayar design grafis hanya demi gambar yang bagus. Akan tetapi, tidak hanya hasil yang bagus saja. Melainkan, gambar juga dapat di load dengan ringan ketika online di halaman website. Oleh karena itu, agar dapat meningkatkan kecepatan load data khususnya untuk elemen gambar maka gambar tersebut harus di resize agar tidak terlalu membebani server kita. Lalu bagaimana caranya ?

Pada artikel kali ini, saya akan sedikit memberikan tutorial bagaimana cara upload gambar dan resize gambar tanpa merusak kualitas gambar itu sendiri. 

Pertama, silahkan instal terlebih dahulu package gratis yaitu "image intervention" melalui composer. 

composer require intervention/image

Jalankan perintah diatas pada composer dan tunggu hingga proses instalasi selesai. 

Setelah proses instalasi selesai, maka hal yang harus anda lakukan adalah mendaftarkan path pada provider dan alias pada "config/app.php" seperti dibawah :

return [

	......

	$provides => [

		......

		......,

		Intervention\Image\ImageServiceProvider::class,

	],

	$aliases => [

		.....

		.....,

		'Image' => Intervention\Image\Facades\Image::class,

	]

]

 

Dan kemudian, pada controller yang anda gunakan untuk melakukan proses penyimpanan gambar, pada bagian atas tambahkan kode seperti dibawah ini:

use Image;

Selanjutnya, pada proses simpan atau update anda perlu menambahkan script seperti di bawah ini yang berfungsi untuk me-resize gambar yang anda upload dan menyimpan ke dalam di rektori. 

    public function store(Request $request)
    {
        $this->validate($request,[
                                'gambar'   => 'image|mimes:jpeg,png'
                                 ]
                        );

       // Artikel adalah nama model, ini hanya contoh
        $post = new Artikel;
        // cek jika ada gambar yang di upload
        if( $request->hasFile('gambar') ) {
            $post_thumbnail     = $request->file('gambar');
        // merubah dan membuat nama file setelah di upload secara acak
            $filename           = time() . '.' . $post_thumbnail->getClientOriginalExtension();
          // buat variabel untuk men-deklarasikan folder penyimpanan yaitu pada folder uploads
            $path = 'uploads/' . $filename; 
           // Mulai proses resize gambar ke ukuran 350 untuk width, dan 220 untuk height        
            Image::make($post_thumbnail)->resize(350, 220)->save($path);

            // Set post-thumbnail url
            $post->gambar= $filename;
        }

        $post->save();

        if($post){
           // jika proses upload berhasil
        }
        else{
            // jika proses upload gagal
        }
 
    }

 

Nah, sekarang coba jalankan dan silahkan upload gambar, jika berhasil dan tidak error seharusnya pada folder "uploads" sudah masuk gambar yang telah di resize. 

 

Selamat mencoba. 

Top