尽管下次打电话,请求挂在快递中间件上

时间:2017-01-22 18:50:33

标签: node.js express middleware

我编写了简单的快速中间件来解析文件并将它们添加到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);

我的问题是,尽管在中间件中调用了下一个功能,但我的请求仍然悬而未决。下一个应该通过一些论点,或者我可能以错误的方式传递我的中间件?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

事实证明,你不能同时使用body-parser和强大的功能。我从body-parser中退出并添加到我的中间件

req.body = fields;