expressjs / expressjs/multer

Unexpected end of form at Multipart._final

Open
#1,144 52 comments 46 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
12.1k
Forks
1.1k
Avg merge
8d 2h
Merged PRs (30d)
21

Description

Getting this error while using multer with react.js and node.js

```
Unexpected end of form
at Multipart._final (E:\nearme\backend\node_modules\busboy\lib\types\multipart.js:588:17)
at callFinal (internal/streams/writable.js:610:10)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
storageErrors: []
}
```

react.js file

```
const fd = new FormData();
fd.append("profile", data.profile);
fd.append("name", data.name);
fd.append("email", data.email);
fd.append("password", data.password);

const res = await axios.post("http://localhost:8000/signup/data", fd, {
headers: { "Content-Type": "multipart/form-data" },
});
```
node js file:

```
const multer = require("multer");
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, "../public");
},
filename: function (req, file, cb) {
const uniqueSuffix = Date.now() + "-" + Math.round(Math.random() * 1e9);
cb(null, file.fieldname + "-" + uniqueSuffix);
},
});

const upd = multer({ storage: storage }).single("profile");
router.post("/data", (req, res) => {
upd(req, res, function (err) {
if (err instanceof multer.MulterError) {
console.log("A Multer error occurred when uploading");
} else if (err) {
console.log("An unknown error occurred when uploading", err);
}
});
});
```

For more details about project refer this
**https://github.com/amulagrawal02/nearme**

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the report in the linked nearme project, tracing the React FormData request to the Node.js /signup/data route and its multer single("profile") middleware. Compare the request and multipart parsing behavior with the error from busboy; done means the upload completes without Unexpected end of form and the route handles the result correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js, react
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.