Study
Express.js

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.

Editor Latihan

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.