Javascript Node.js需要回调函数,但得到了一个[object]

Javascript Node.js需要回调函数,但得到了一个[object],javascript,node.js,express,multer,Javascript,Node.js,Express,Multer,我正在尝试使用node.js进行上传 router.post('/image', [ multer(), function(req, res) { var file = req.files.file; console.log(file); res.end(); }]); 上面的代码有什么问题?我犯了一个错误 Error: Route.post() requires callback functions but got a [object Object] at Route.(

我正在尝试使用node.js进行上传

router.post('/image', [ multer(), function(req, res) {
  var file = req.files.file;
  console.log(file);
  res.end();
}]);
上面的代码有什么问题?我犯了一个错误

Error: Route.post() requires callback functions but got a [object Object]
    at Route.(anonymous function) [as post] 

很可能您正在学习使用
multer
旧API的旧教程。API更改为v1.0.0,您可以找到新API的示例。例如:

 var upload = multer();
 router.post('/image', [ upload.any(), function(req, res) {
   var file = req.files.file;
   console.log(file);
   res.end();
 }]);

路由器参数和复用器的使用有问题。你应该看到

下面是一个帮助您调整代码的示例

var multer  = require('multer');
var upload = multer({ dest: 'uploads/' });

router.post('/image', upload.single("image"), function(req, res) {
    var file = req.file;
    console.log(file);
    res.end();
}]);

您使用的
multer()
与中的任何用法都不太一样,因为您的最后一行中有一个额外的方括号。谢谢你。