MulterError: Unexpected field
code: 'LIMIT_UNEXPECTED_FILE',
storageErrors: []
multer 사용 시ㅏ input태그의 name이나 FormData의 key값과 multer의 인자가 일치하지 않아 발생하는 에러이다.
// (1)
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="image"/>
<input type="text" name="title"/>
<button type="submit">업로드</button>
</form>
const multerr = require('multer')
const upload = multer({
storage: multer.diskStorage({
done(null, 'uploads/');
},
filename(req, file, done){
const ext = path.extname(file.originalname);
done(null, path.basename(file.originalname, ext) + Date.now() + ext);
}
}),
limits: { fileSize: 5 * 1024 * 1024 }.
})
// (2)
app.post('/upload', upload.single('image'), (req, res) => {
console.log(req.file, req.body);
res.send('ok');
});
(1)의 input태그의 name이 'image'이니, (2)의 upload.single의 인자도 'image'여야 함
여러개의 input태그를 사용 시 single대신 upload.fields([{name:'image1'}. {name: 'image2'}])의 모양으로 사용
유익한 글 잘 봤습니다, 감사합니다.