我试图在我现有的代码中插入一段代码块,但是无法理解如何以我正在使用的编码模式传递中间件。
我想集成到我的代码模式中的代码段:
router.post(
'/appuser/uploadavatar',multer.single('image'),gcsMiddlewares.sendUploadToGCS,(req,res,next) => {
if (req.file && req.file.gcsUrl) {
return res.status(200).send({'avatar': req.file.gcsUrl});
}
return res.status(500).send('Unable to upload');
},);
我所拥有的:
app.js:
var v1 = require('./routes/v1');
app.use('/api/v1',v1);
然后route / v1.js具有:
// routes/vi.js:
const auth = require('../controllers/authenticateUsers');
router.post('/:entity/:action',handlePOSTs);
function handlePOSTs(req,res) {
switch(req.params.entity) {
case "auth":
switch(req.params.action) {
case "uploadavatar":
auth.uploadAvatar(req,res);
break;
}
break;
}
}
在auth.uploadAvatar中:
// authenticateUsers.js
exports.uploadAvatar = (req,next) => {
// here is where I want to execute this pattern :
// router.post(
// '/appuser/uploadavatar',// multer.single('image'),// gcsMiddlewares.sendUploadToGCS,// (req,next) => {
// if (req.file && req.file.gcsUrl) {
// return res.status(200).send({'avatar': req.file.gcsUrl});
// }
// return res.status(500).send('Unable to upload');
// },// );
}
如何将中间件传递给导出的功能?