在我给出的index.js文件中
router.post('/postfileupload',User.postFileUpload,function(req,res,next){
User.postFileUpload(req,res);
});
在user.js中我提供了函数定义:
function postFileUpload(req,res){
if(req.files)
console.log('request for fileupload \n ',req.files);
}
并且在运行代码时我收到错误 “错误:Route.post()需要回调函数,但得到[object Undefined]”
请帮忙......
答案 0 :(得分:0)
首先,它应该是postFileUpload中的if(req.files)
,而不是res.files
其次,postFileUpload
函数不会向用户返回任何内容,也不会调用next()
。将其更改为:
function postFileUpload(req, res, next){
if(req.files)
console.log('request for fileupload \n ',req.files);
next();
}
第三,你的其他中间件函数,它也会因为一些奇怪的原因调用User.postFileUpload
(你甚至需要调用该函数两次吗?),也不会向用户返回任何内容。将其更改为:
function(req,res,next){
res.status(200).send('OK');
}
简而言之,您的路由器应如下所示:
router.post('/postfileupload', User.postFileUpload, function(req,res,next){
// Do whatever you want to do here
res.status(200).send('OK');
});