File Upload dengan Multer
Penjelasan
express.json() TIDAK bisa membaca file upload (multipart/form-data) — untuk itu dipakai library multer, middleware khusus yang mem-parsing form dengan file upload dan menyimpannya (ke disk atau memory), lalu informasinya tersedia di req.file (satu file) atau req.files (banyak file).
Contoh Konsep
// npm install multer
const multer = require('multer');
const upload = multer({ dest: 'uploads/' }); // simpan ke folder uploads/
app.post('/produk/upload', upload.single('gambar'), (req, res) => {
res.json({
pesan: 'File berhasil diupload',
namaFile: req.file.filename,
});
});
Praktikum
Buat middleware upload dengan multer, simpan ke folder 'uploads/artikel'. Buat route POST /artikel/upload yang menerima satu file dengan field name 'foto', merespons JSON berisi nama file yang tersimpan.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Nama field di upload.single('gambar') HARUS PERSIS SAMA dengan nama field file di form/request client (mis. formData.append('gambar', file) di frontend) — kalau namanya beda, req.file akan undefined walau file-nya sebenarnya berhasil terkirim.