在一个中使用 2 个中间件功能 post
Using 2 middleware functions in one post
有没有办法像这样使用2个中间件函数:
route.post('/login', auth.isAuthenticated, multer.any(), function(req,res) {
res.send("bla bla bla");
}
我可以同时使用 auth.isAuthenticated
和 multer.any()
(用于上传文件)吗?
根据 docs:
,您应该能够传递一组您希望像这样执行的中间件回调
http://expressjs.com/en/4x/api.html#router.METHOD
router.METHOD(path, [callback, ...] callback)
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);
希望对您有所帮助!
有没有办法像这样使用2个中间件函数:
route.post('/login', auth.isAuthenticated, multer.any(), function(req,res) {
res.send("bla bla bla");
}
我可以同时使用 auth.isAuthenticated
和 multer.any()
(用于上传文件)吗?
根据 docs:
,您应该能够传递一组您希望像这样执行的中间件回调http://expressjs.com/en/4x/api.html#router.METHOD
router.METHOD(path, [callback, ...] callback)
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);
希望对您有所帮助!