有没有办法使用这样的2个中间件函数:
route.post('/login', auth.isAuthenticated, multer.any(), function(req,res) {
res.send("bla bla bla");
}
我可以同时使用auth.isAuthenticated
和multer.any()
(用于上传文件)吗?
答案 0 :(得分:5)
您应该能够根据docs传递一系列您希望按此执行的中间件回调:
http://expressjs.com/en/4x/api.html#router.METHOD
router.METHOD(路径,[回调,...]回调)
route.post('/login', [auth.isAuthenticated, multer.any()], function(req, res) {
res.send("bla bla bla");
});
<强>更新强>
您可能需要构建所有回调在数组括号[]
中的位置:
route.post('/login', [auth.isAuthenticated, multer.any(), function(req, res) {
res.send("bla bla bla");
}]);
您还可以考虑使用app.use()
注册回调,如下所示:
var route = express.Router();
var require = require('multer');
var upload = multer({ dest: '/some/path' });
route.use(auth.isAuthenticated);
route.use(upload.any());
app.use("/login", route);
希望这有帮助!