Cara Membuat Multiple Upload Gambar di Laravel Cepat dan Mudah

Share:

Kumpulan Perintah CMD Paling Sering Digunakan dan Fungsinya

Halo semuanya kembali lagi di sahretech. Pada kesempatan kali ini kita akan membuat fitur multiple upload gambar pada laravel, bagaimana caranya?. Ayo ikuti langkah-langakhnya berikut ini. Untuk membuat fitur multiple upload gambar di Laravel dan memasukkannya ke dalam database, ikuti langkah-langkah berikut:


1. Persiapan Project Laravel

Pastikan Anda memiliki proyek Laravel yang sudah berjalan. 


2. Membuat Migration dan Model

Buat migration dan model untuk tabel tempat menyimpan informasi gambar. Jalankan perintah berikut ini di cmd atau terminal



php artisan make:model Image -m


Edit file migration di `database/migrations/xxxx_xx_xx_create_images_table.php` untuk menambahkan kolom yang diperlukan:



public function up() { Schema::create('images', function (Blueprint $table) { $table->id(); $table->string('filename'); $table->timestamps(); }); }


Jalankan migration dengan cmd atau terminal di bawah ini



php artisan migrate


3. Membuat Form untuk Upload Gambar

Buat route dan controller untuk menampilkan form dan menangani upload gambar. Tambahkan route berikut di `routes/web.php`:



Route::get('/upload', [App\Http\Controllers\ImageController::class, 'create']); Route::post('/upload', [App\Http\Controllers\ImageController::class, 'store']);


Buat controller dengan perintah berikut ini dengan cmd atau terminal



php artisan make:controller ImageController


Edit `ImageController` untuk menambahkan metode `create` dan `store`:



namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\Image; class ImageController extends Controller { public function create() { return view('upload'); } public function store(Request $request) { $request->validate([ 'images.*' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', ]); if($request->hasfile('images')) { foreach($request->file('images') as $file) { $name = time() . '_' . $file->getClientOriginalName(); $file->move(public_path('images'), $name); $image = new Image(); $image->filename = $name; $image->save(); } } return back()->with('success', 'Images uploaded successfully'); } }


4. Membuat View untuk Form Upload

Buat file view `upload.blade.php` di folder `resources/views/`:



<!DOCTYPE html> <html> <head> <title>Laravel Multiple Image Upload</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> </head> <body> <div class="container mt-5"> <h3 class="text-center mb-5">Laravel Multiple Image Upload</h3> @if ($message = Session::get('success')) <div class="alert alert-success alert-block"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>{{ $message }}</strong> </div> @endif <form action="{{ url('/upload') }}" method="post" enctype="multipart/form-data"> @csrf <div class="input-group hdtuto control-group lst increment"> <input type="file" name="images[]" class="myfrm form-control" multiple> </div> <button type="submit" class="btn btn-success">Upload</button> </form> </div> </body> </html>

Pastikan direktori `public/images` ada di proyek Anda. Jika belum ada, buat direktori tersebut di dalam folder public dengan nama images.



Dengan mengikuti langkah-langkah di atas, Anda telah membuat fitur multiple upload gambar di Laravel dan menyimpannya di dalam database. Setiap gambar yang di-upload akan disimpan di folder `public/images` dan informasi tentang file tersebut disimpan di tabel `images`.

No comments

Jangan lupa kasih komentar ya!. Karena komentar kalian membantu kami menyediakan informasi yang lebih baik

Tidak boleh menyertakan link atau promosi produk saat berkomentar. Komentar tidak akan ditampilkan. Hubungi 081271449921(WA) untuk dapat menyertakan link dan promosi