[Fixed] cant get multipart/form-data in express js

Issue

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.

Leave a Reply

(*) Required, Your email will not be published