我编写了简单的快速中间件来解析文件并将它们添加到req。看起来像这样。 从'强大'中输入强大的内容;
export const parseForm = (req, res, next) => {
const form = new formidable.IncomingForm();
form.parse(req, (err, fields, files) => {
if(err) {
next(err);
}
req.files = files; // eslint-disable-line
next();
});
};
我将它添加到这样的应用程序(以及其他中间件)。
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cors());
app.use(parseForm);
// static paths
const publicPath = express.static(path.join(__dirname, '../client/public'));
app.use(publicPath);
// routes
app.use('/api', adminRoutes);
app.use('/api', ingredientRoutes);
app.use('/api', productRoutes);
我的问题是,尽管在中间件中调用了下一个功能,但我的请求仍然悬而未决。下一个应该通过一些论点,或者我可能以错误的方式传递我的中间件?
感谢您的帮助。
答案 0 :(得分:0)
事实证明,你不能同时使用body-parser和强大的功能。我从body-parser中退出并添加到我的中间件
req.body = fields;