Составить правильный FormData запрос
Отправляя запрос на сервер через postman все работает:
При попытке отправить такой же запрос через клиент, req.body на сервере равен пустому объекту:
const img = ev.target.files[0];
const body = new FormData();
body.append('image', img);
body.append('user', localStorage.getItem('user'));
const data = await (await fetch(`${root}/api/upload/profile`, {
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data;'
},
body
})).json();
Вот роут /profile:
router.post('/profile',
cors(corsOptions),
async(req, res) => {
upload(req, res, async err => {
try {
console.log(req.body) // {}
} catch (err) {
console.log(err.stack)
}
});
}
);
Ответы (1 шт):
Автор решения: Voprositel
→ Ссылка
Я решил проблему просто передавая в headers пустой объект:
const img = ev.target.files[0];
const body = new FormData();
body.append('image', img);
body.append('user', localStorage.getItem('user'));
const data = await (await fetch(`${root}/api/upload/profile`, {
method: 'POST',
headers: {},
body
})).json();
