我正在尝试使用multipart / form-data将图片上传到node.js服务器。 ID和文件都未定义。我尝试通过失眠测试来消除任何前端错误,但问题仍然相同。
这是获取表单数据的我的node.js路由
router.route('/upload').post((req,res) => {
console.log(req.body.id);
console.log(req.files.file);
Admin.findById(req.body.id)
.then(admin => {
if(req.files == null) {
return res.status(400).json({msg: 'No File uploaded'});
}
const file = req.files.file;
const folderName = 'public/'+admin.username+'/profile/';
const folderName2 = admin.username+'/profile/';
try {
if (!fs.existsSync(`${__dirname}/../${folderName}`)) {
fs.mkdirSync(`${__dirname}/../${folderName}` , { recursive: true } )
}
file.mv(`${__dirname}/../`+folderName+`${file.name}`, err => {
if(err) {
console.error(err);
return res.status(500).send(err);
}
})
admin.profilePic = `${folderName2}/${file.name}`;
admin.save();
res.json( {
fileName: file.name,
filepath: `${folderName2}/${file.name}`
});
}
catch (err) {
console.error(err)
}
})
});
测试失眠会给我内部服务器错误
请帮助我解决此问题。谢谢。