Search code examples
node.jsexpressmultipartform-datamulter

cant get multipart/form-data in express js


I'm trynna get the form`s data that contains a file, and I use Multer for handling that, but for some reason, my req.body is returning {}, but when I use the normal form without multipart data, it gives me all the data, so the problem is with Multer, here's my code

 const express = require("express");
const app = express();
const multer = require("multer");
app.listen(8000);
let upload = multer({ dest: "uploads/" });
upload.single("logo");
app.use(express.urlencoded({ extended: true }));

app.post("/", (req, res) => {
  console.log(req.file);
});

Solution

  • const express = require("express");
    const app = express();
    const multer = require("multer");
    app.listen(8000);
    let upload = multer({ dest: "uploads/" });
    app.use(express.urlencoded({ extended: true }));
    
    app.post("/", upload.single("logo"), (req, res) => {
      console.log(req.file);
    });
    

    You need to specify upload.single as middleware.