上传文件并获取其文件名并将其保存到pgsql中的数据库

时间:2017-06-07 11:53:33

标签: javascript node.js postgresql

在我给出的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]”

请帮忙......

1 个答案:

答案 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');
});