Прочитать form data на сервере
Я использую multer для загрузки изображений на сервер. Для этого с клиента я посылаю form-data запрос. Встала необходимость проверять, авторизирован ли пользователь. Для этого я отправляю объект с логином и паролем. Но появилась проблема: я просто не могу получить эти данные.
Для получения тела запроса я использую body-parser.
Обычно я получаю тело запроса так:
const reqBody = JSON.parse(JSON.stringify(req.body));
При любом другом запросе все нормально, а при form-data reqBody === {}. Что делать?
Роут, использующий multer:
router.post('/image_for_profile',
cors(corsOptions),
async(req, res) => {
try {
const reqBody = JSON.parse(JSON.stringify(req.body));
console.log(reqBody) // {}
let status;
upload(req, res, err => {
let error = '';
if (err) {
if (err.code === 'LIMIT_FILE_SIZE') {
error = 'Размер изображения не должен превышать 2мб';
}
if (err.code === 'EXTENTION') {
error = 'Файл не является ни jpg, ни jpeg, ни png';
}
status = error;
}
});
return res.status(200).json({
msg: status || 'OK',
});
} catch (err) {
console.log(err)
return res.status(500).json({
msg: config.get('msgs.statuses.500err')
});
}
}
);
Запрос:
