File Upload — Node.js

Menangani file upload di Express menggunakan middleware multer. Setup multer: import multer from "multer"; // Simpan di folder uploads/ const upload = multer({

Menangani file upload di Express menggunakan middleware multer.

Setup multer:

import multer from "multer";

// Simpan di folder uploads/
const upload = multer({
  dest: "uploads/",
  limits: { fileSize: 5 * 1024 * 1024 }, // Max 5MB
  fileFilter: (req, file, cb) => {
    const allowed = ["image/jpeg", "image/png", "image/webp"];
    if (allowed.includes(file.mimetype)) {
      cb(null, true);
    } else {
      cb(new Error("Format file tidak didukung"));
    }
  },
});

Upload endpoint:

// Single file
app.post("/avatar", upload.single("photo"), (req, res) => {
  if (!req.file) {
    return res.status(400).json({ error: "No file uploaded" });
  }
  res.json({
    filename: req.file.filename,
    size: req.file.size,
    mimetype: req.file.mimetype,
  });
});

// Multiple files
app.post("/gallery", upload.array("photos", 10), (req, res) => {
  res.json({ count: req.files.length });
});

Tips:

Yang akan kamu pelajari