gpt4 book ai didi

node.js - 如何从多部分表单数据中获取 Node JS 中间件中的请求主体?

转载 作者:行者123 更新时间:2023-12-05 06:21:08 24 4
gpt4 key购买 nike

我知道使用以下方法很容易获得请求的正文:

app.post('/api', (req, res) => { conosle.log(req.body); })

但是我的问题和上面的不一样。这是我的 index.js 文件(入口文件)。

const express = require('express');
const app = express();

const config = require('./config/config.js');

app.use(express.raw());
app.use(express.urlencoded({ extended: true }));

app.use((req, res, next) => {

console.log(req.body); **// here I am not getting req.body**

const routes_handler = require('./routes/index.js')(app, express, req);
next();
});


app.listen(config.SERVER.PORT, () => {
console.log("Server running at Port " + config.SERVER.PORT);
});

仅供引用,使用 postman ,我将请求作为表单数据传递。在表单中,还有一个字段作为文件类型(图片)。在处理 API 部分时,我使用 multer 并根据需要获取 req.body。

但我只想知道如何在中间件 block 中获取 req.body,即在

 app.use((req, res, next) => {//HERE req.body })

这是我的 POSTMAN 简单请求如下:

enter image description here

最佳答案

尝试使用正文解析器。您可以找到示例代码 here来自 express.js

const app = require('express')()
const bodyParser = require('body-parser')
const multer = require('multer')

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: true }))

app.use(multer.array(), (req, res, next) => {

console.log(req.body);

const routes_handler = require('./routes/index.js')(app, express, req);
next();
});

关于node.js - 如何从多部分表单数据中获取 Node JS 中间件中的请求主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60092649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com