Mengupload File


Pendahuluan

Mengupload file adalah salah satu fitur yang sering dibutuhkan dalam aplikasi web. Dalam tutorial ini, kita akan membahas cara mengupload file menggunakan framework Laravel.

Prerequisites

Pastikan Anda telah menginstal:

  • PHP (versi 7.3 atau lebih tinggi)
  • Composer
  • Laravel

Langkah 1: Membuat Proyek Laravel Baru

Jika Anda belum memiliki proyek Laravel, Anda dapat membuatnya dengan perintah berikut:

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

Gantilah project-name dengan nama proyek yang Anda inginkan.

Langkah 2: Membuat Formulir Upload

Buka file resources/views/welcome.blade.php dan ubah isinya menjadi:

<!DOCTYPE html>
<html>
<head>
    <title>Upload File di Laravel</title>
</head>
<body>
    <h1>Upload File</h1>
    <form action="{{ route('file.upload') }}" method="POST" enctype="multipart/form-data">
        @csrf
        <input type="file" name="file" required>
        <button type="submit">Upload</button>
    </form>
</body>
</html>

Langkah 3: Mengatur Router

Buka file routes/web.php dan tambahkan rute berikut:

use App\Http\Controllers\FileUploadController;

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

Route::post('/upload', [FileUploadController::class, 'upload'])->name('file.upload');

Langkah 4: Membuat Controller

Buat controller baru dengan perintah berikut:

php artisan make:controller FileUploadController

Kemudian, buka file yang baru saja dibuat di app/Http/Controllers/FileUploadController.php dan tambahkan kode berikut:

namespace App\Http\Controllers;

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

class FileUploadController extends Controller
{
    public function upload(Request $request)
    {
        $request->validate([
            'file' => 'required|file|max:2048', // Maksimal 2MB
        ]);

        // Mengupload file
        $path = $request->file('file')->store('uploads');

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

Langkah 5: Menampilkan Pesan Sukses

Kembali ke file resources/views/welcome.blade.php dan tambahkan kode untuk menampilkan pesan sukses:

@if(session('success'))
    <div>
        {{ session('success') }}
    </div>
@endif

Langkah 6: Mengonfigurasi Sistem Penyimpanan

Pastikan bahwa direktori penyimpanan (storage) dapat diakses dengan perintah:

php artisan storage:link

Langkah 7: Menguji Upload

Jalankan server menggunakan perintah:

php artisan serve

Buka browser dan navigasikan ke http://localhost:8000. Anda akan melihat formulir untuk mengupload file. Pilih file dan klik tombol "Upload".

Kesimpulan

Anda telah berhasil membuat fitur upload file pada aplikasi Laravel. Anda dapat memperluas tutorial ini dengan menambahkan validasi lebih lanjut, mengelola file yang diupload, atau menyimpan informasi file ke database.

Sampai jumpa di tutorial selanjutnya!