Latihan 1 dari materi File Upload di Node.js — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Simulasikan pemeriksa upload. Simulator latihan gak punya multer, jadi tiap file diwakili object { filename, size, mimetype }. Anggap mimetype di sini sudah hasil deteksi server.
Kode awal sudah punya require("path"), allowedTypes, MAX_SIZE (5 MB), fungsi validateUpload(file) dengan cek nama dan cek file.size > MAX_SIZE, dan tiga file contoh: foto.jpg (2 MB, image/jpeg), document.pdf (application/pdf), bigfile.png (10 MB). Semuanya biarkan.
- Di cek ukuran, ganti pesan errornya jadi persis
File terlalu besar (max 5MB).
- Di bawah komentar
// Periksa mimetype, tolak tipe di luar daftar: if (!allowedTypes.includes(file.mimetype)) return { valid: false, error: "Tipe file tidak diizinkan" };
- Ganti tiga
console.log di bagian bawah jadi console.log(JSON.stringify(r1));, lalu r2 dan r3.
Output yang diharapkan:
{"valid":true,"ext":".jpg","sizeMB":"2MB"}
{"valid":false,"error":"Tipe file tidak diizinkan"}
{"valid":false,"error":"File terlalu besar (max 5MB)"}
Yang dinilai: output memuat "valid":true, File terlalu besar, dan Tipe file tidak diizinkan; kodenya membandingkan ukuran dengan batasnya (file.size > MAX_SIZE) dan mengecek tipe dengan includes(; dan validateUpload juga dicoba dengan tiga file lain (a.png 10 byte image/png lolos, b.png 9.000.000 byte ditolak, c.exe application/x-msdownload ditolak).