我的UI中有两个参数。一个是file
,另一个是dataObject
。在utils中,我编写了代码:
importPlan: function (formData, planDTO) {
return axios.post(`${importPlanAPIPath}`, planDTO, formData);
}
在路由器中,我将其发送为:
router.post('/plans/importPlan/', planController.importPlan);
在控制器中,我已将请求写为:
async importPlan(req, res, cb) {
let plan,
planDTO = req.body;
const formData = new FormData(),
file = req.files.file;
formData.append('file', file.data);
console.log('planDTO => ', planDTO);
console.log(file.data, file.name);
try {
plan = await req.clients.planClient.importPlan(formData, planDTO);
} catch (err) {
return cb(err);
}
res.json(plan);
}
在req.body
中,我正在获取planDTO,但我没有在req中获得任何req.files
。我也使用bodyparser
来解析请求。我也在使用busboybodyparser
来表示multipart / form-data。
有人可以告诉我我做错了什么吗? 提前谢谢。
答案 0 :(得分:0)
yourparam是参数名称
router.post('/plans/importPlan/:yourparam', planController.importPlan);
async importPlan(req, res, cb) {
var yourparam= req.params.yourparam;
..........
res.json(plan);
}
使用此模块进行文件上传https://www.npmjs.com/package/multer