【问题标题】:Node.js requires callback functions but got a [object Object]Node.js 需要回调函数,但有一个 [object Object]
【发布时间】:2016-04-08 18:43:49
【问题描述】:
我正在尝试使用 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]
【问题讨论】:
标签:
javascript
node.js
express
multer
【解决方案1】:
您很可能正在学习使用 multer 的旧 API 的旧教程。 API 已更改 ~v1.0.0,您可以找到新 API here 的示例。例如:
var upload = multer();
router.post('/image', [ upload.any(), function(req, res) {
var file = req.files.file;
console.log(file);
res.end();
}]);
【解决方案2】:
路由器参数和multer使用有问题。你应该看到multer documentation
这是一个帮助您适应代码的示例。
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();
}]);