Rumahweb Journal
banner - belajar laravel bagian 24

Belajar Laravel Bagian 24: Cara Membuat Fitur Upload File

Pada seri Belajar Laravel Bagian 23, kita telah mempelajari cara menggunakan Bootstrap di Laravel untuk mempercantik tampilan aplikasi atau website. Nah, pada lanjutan Belajar Laravel Bagian 24 ini, kita akan membahas cara membuat fitur upload file di Laravel secara praktis dan aman.

Seperti yang telah kita pahami dalam proses pengembangan aplikasi berbasis web, fitur upload file merupakan komponen penting yang tidak boleh diabaikan. Mulai dari kebutuhan untuk mengunggah foto profil, dokumen, hingga berbagai file pendukung lainnya, fitur ini hampir selalu dibutuhkan.

Laravel, sebagai framework PHP yang powerful, menyediakan cara yang sederhana, aman, dan efisien untuk menangani proses upload tersebut.

Cara Membuat Fitur Upload File

Berikut langkah demi langkah untuk membuat fitur upload file di Laravel secara mudah dan aman.

Step 1. Persiapan Project

Bila sebelumnya Anda sudah mengikuti series tutorial laravel dari kami, Anda dapat melanjutkan dengan projek tersebut. Namun, bila belum mengikutinya, silakan Anda buat projek baru dan install laravel.

composer create-project --prefer-dist laravel/laravel .

Jalankan server:

Pindah Hosting ke Rumahweb Gratis

php artisan serve

Selanjutnya akses file laravel yang Anda install melalui browser di alamat http://127.0.0.1:8000.

Step 2. Buat Route

Selanjutnya, edit file routes/web.php menjadi berikut:

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

Route::get('/upload', function () {
    return view('upload');
});

Route::post('/upload', function (Request $request) {
    // Validasi file
    $request->validate([
        'file' => 'required|mimes:jpg,jpeg,png,pdf|max:2048'
    ]);

    // Simpan file ke storage/app/public/uploads
    $path = $request->file('file')->store('uploads', 'public');

    return back()->with('success', 'File berhasil diupload!')->with('file', $path);
});

Step 3. Buat View menggunakan (Bootstrap)

Kemudian, buat file untuk menampilkan form upload di  resources/views/upload.blade.php dengan script berikut.

<!DOCTYPE html>
<html>
<head>
    <title>Upload File Laravel</title>
    <!-- Bootstrap CDN -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
    <h2 class="mb-4">Upload File dengan Laravel</h2>

    {{-- Tampilkan pesan sukses --}}
    @if(session('success'))
        <div class="alert alert-success">
            {{ session('success') }}
            <br>
            <strong>Path:</strong> {{ session('file') }}
        </div>
    @endif

    {{-- Tampilkan error --}}
    @if($errors->any())
        <div class="alert alert-danger">
            <ul class="mb-0">
                @foreach ($errors->all() as $err)
                    <li>{{ $err }}</li>
                @endforeach
            </ul>
        </div>
    @endif

    <!-- Form Upload -->
    <div class="card shadow">
        <div class="card-body">
            <form action="/upload" method="POST" enctype="multipart/form-data">
                @csrf
                <div class="mb-3">
                    <label class="form-label">Pilih File</label>
                    <input type="file" name="file" class="form-control">
                </div>
                <button type="submit" class="btn btn-primary">Upload</button>
            </form>
        </div>
    </div>
</div>

<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

Step 4. Atur Storage Link

Agar file dapat diakses melalui browser, silakan buat symlink ke folder public/storage gunakan perintah berikut:

php artisan storage:link
membuat storage link laravel - belajar laravel

Dengan melakukan symlink, maka file yang diupload akan tersimpan di direktori:
storage/app/public/uploads/

Lalu, Anda dapat mengecek file yang baru saja di upload melalui url http://127.0.0.1:8000/storage/uploads/namafile.png

Step 5. Pengujian

Terakhir, mari kita lakukan pengujian fitur upload di Laravel. Caranya, silakan buka halaman http://127.0.0.1:8000/upload

Pilih file yang akan Anda upload (misalnya file gambar atau file PDF), kemudian klik Upload.

upload file menggunakan laravel

Bila sukses, maka akan tampil alert sukses + path file seperti gambar berikut.

Silakan masuk ke folder storage/upload untuk cek file yang baru saja Anda upload.

cek hasil upload file di laravel

Penutup

Selamat! Hingga tahap ini, Anda telah berhasil membuat fitur upload file di Laravel dengan mudah. Dengan memahami langkah-langkah yang telah dibahas, kini Anda dapat mengimplementasikan fitur ini ke dalam berbagai proyek web yang sedang dikembangkan.

Ke depannya, Anda bisa terus bereksplorasi dengan menambahkan validasi yang lebih kompleks, mengintegrasikan penyimpanan ke layanan cloud server, atau meningkatkan aspek keamanan agar sistem upload semakin optimal dan profesional.

Demikian seri belajar Laravel bagian 24 tentang membuat fitur upload file di Laravel. Dalam seri belajar Laravel selanjutnya, kita akan belajar cara upload file ke database Laravel. Ikuti terus tutorial belajar Laravel dari Rumahweb, untuk meningkatkan kemampuan Anda dalam membuat aplikasi berbasis Laravel. Semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 0 / 5. Vote count: 0

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Anggit TS

I'm a Technical Support Specialist at Rumahweb Indonesia with a strong passion for front-end development. Skilled in website creation and experienced in content writing. I blend technical expertise with creativity to craft engaging and functional web experiences!

banner pop up - Pindah Hosting ke Rumahweb