Ajax Upload File Laravel

4 min read Jul 01, 2024
Ajax Upload File Laravel

AJAX Upload File di Laravel

Artikel ini akan membahas tentang cara mengupload file menggunakan AJAX di Laravel. AJAX (Asynchronous JavaScript and XML) memungkinkan Anda untuk mengupload file tanpa harus merefresh halaman web. Ini memberikan pengalaman pengguna yang lebih baik karena proses upload berlangsung di latar belakang.

Persiapan

Sebelum memulai, pastikan Anda telah menginstal Laravel dan memiliki proyek yang siap digunakan. Anda juga membutuhkan basic understanding tentang HTML, JavaScript, dan PHP.

1. Membuat Route

Pertama, buat route di routes/web.php untuk menangani upload file:

Route::post('/upload', 'FileController@store');

2. Membuat Controller

Selanjutnya, buat controller bernama FileController di app/Http/Controllers:

validate([
            'file' => 'required|file|max:10240', // Validasi file (maks 10MB)
        ]);

        $file = $request->file('file');
        $fileName = time() . '_' . $file->getClientOriginalName();
        $file->storeAs('public/uploads', $fileName);

        return response()->json([
            'success' => true,
            'filename' => $fileName,
        ]);
    }
}

3. Membuat View

Buat view upload.blade.php untuk form upload file:




    Upload File
    


    

Upload File

4. Menjalankan Aplikasi

Jalankan server Laravel (php artisan serve) dan buka http://localhost:8000/upload di browser Anda. Anda sekarang dapat mengupload file dan melihat hasilnya di halaman web.

Penjelasan Kode

  • Controller: Kode controller menangani validasi file, penyimpanan file ke direktori storage/app/public/uploads, dan mengembalikan respons JSON yang berisi informasi tentang file yang diupload.
  • View: Kode view menampilkan form upload file, menggunakan jQuery untuk menangani submit form, dan menampilkan pesan hasil upload.
  • AJAX: AJAX digunakan untuk mengupload file tanpa merefresh halaman.
  • FormData: Objek FormData digunakan untuk mengirim data form, termasuk file yang akan diupload.

Kesimpulan

Dengan menggunakan AJAX, Anda dapat mengupload file di Laravel dengan mudah dan tanpa perlu merefresh halaman web. Ini memberikan pengalaman pengguna yang lebih baik dan meningkatkan performa aplikasi Anda.

Latest Posts