Upload file adalah proses mengirimkan dan menyimpan data file ke server. Dalam Laravel, upload file dapat dilakukan dengan menggunakan form HTML dan mengirimkan data file ke controller untuk diolah dan disimpan. Laravel menyediakan banyak fitur untuk memudahkan proses upload file, seperti validasi, penanganan kesalahan, dan lain-lain. Ini membuat upload file menjadi lebih aman dan mudah dilakukan.
Berikut adalah langkah-langkah untuk upload file menggunakan Laravel:
- Buat form upload file: Buat form HTML dengan
enctype="multipart/form-data"
untuk mengirimkan data file.
<form action="/upload" method="post" enctype="multipart/form-data">
@csrf
<input type="file" name="file">
<button type="submit">Upload</button>
</form>
- Buat Route: Buat route untuk menangani form upload dengan menentukan method HTTP dan fungsi controller.
Route::post('/upload', 'NamaController@upload');
- Buat Controller: Buat controller dengan method
upload
untuk menangani form upload.
use Illuminate\Http\Request;
class NamaController extends Controller
{
public function upload(Request $request)
{
$request->validate([
'file' => 'required|file|mimes:jpeg,png,jpg,gif,svg,pdf|max:2048',
]);
$file = $request->file('file');
$nama = time().'.'.$file->getClientOriginalExtension();
$file->move(public_path('images'), $nama);
return back()->with('success','File uploaded successfully');
}
}
- Validasi: Validasi form upload dengan menggunakan method
validate
. Anda dapat menentukan aturan validasi, seperti jenis file yang diperbolehkan (mimes
), ukuran maksimal file (max
), dan lain-lain. - Upload file: Setelah form upload dan data file terkirim, gunakan method
move
pada objek file untuk memindahkan file ke direktori yang diinginkan. - Tampilkan pesan sukses: Setelah file berhasil diupload, tampilkan pesan sukses ke pengguna dengan menggunakan method
with
.