我有一个简单的中间件,然后我有一个multer中间件,然后是我的最后一个函数。我似乎不知道如何在第一个中间件中从前端访问表单数据。我可以在最后一个函数中访问它们,这是在multer中间件之后,但不是在第一个中间件中。我从前端发送id,在我的路径的最后一个函数中,我可以以req.body.id的形式访问id。但是,我不能在我的第一个中间件中访问它。下面是我的路线
route.post('/upload', [checkSize, upload.single('file')], file_controller.upload)下面是我的checkSize中间件
var db = require('../database/connection');
checkSize = async (req, res, next) => {
let dbo = await db();
let initSize = await dbo.stats();
if(1 === 1){
return res.send("middleware is working" + " " + req.body.id);
}else{
req.initSize = initSize.dataSize/1000000
next()
}
}
module.exports = checkSize反应的结果是
“中间件正在进行未定义的工作”
发布于 2021-05-11 13:25:26
首先,您需要更改中间件的顺序。
route.post('/upload', [upload.single('file'), checkSize], file_controller.upload)第二,文件在req.file而不是req.body字段中可用。req.body字段将包含窗体的所有文本字段。
https://stackoverflow.com/questions/67487351
复制相似问题