본문 바로가기
개발

NodeJS-form-data req.body is empty

by deokkk 2022. 6. 3.
반응형

요약

form-data 방식에서 request body안의 값이 비어있는({}) 경우 입니다.

 

Error

req.body = {}

 

Solution

- form data의 경우 nodejs에서는 multer 미들웨어를 사용합니다.

import express from 'express';
import multer from 'multer';

const app = express();

const upload = multer({
	storage: multer.diskStorage({
      destination: function (req, file, cb) {
        cb(null, '/tmp/my-uploads')
      },
      filename: function (req, file, cb) {
        const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9)
        cb(null, file.fieldname + '-' + uniqueSuffix)
      }
    }),
});

app.use('/', express.static('uploads'));

// case 1
app.post('/uploadFile', (req, res) => {
	console.log(req.body); // {}
});

// case 2
app.post('/uploadFile', upload.array('files', 10), (req, res) => {
	console.log(req.body); // { key1: "value1", key2: "value2" }
});
반응형

댓글