Node.js Express。 适用于bodyPars的大身材


我使用Express.js ver 4.2,并希望解析较大的帖子(150K-1M),但收到错误消息“请求实体太大”。 似乎限制为100K。我现在不打算在Express 4中更改限制。在Express 3.x中,我只是做了-

app.use(express.json({limit: '5mb'}));
app.use(express.urlencoded({limit: '5mb'}));

如何更改Express 4中的限制?

谢谢你的帮助。

user2856066 asked 2020-08-09T06:52:11Z
3个解决方案
75 votes

对于Express 4,您必须安装body-parser模块并使用该模块:

var bodyParser = require('body-parser');

// ...

app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({limit: '5mb'}));
mscdex answered 2020-08-09T06:52:17Z
11 votes

Mscdex的代码有效,但是我们应该添加另一个参数以避免现在发出警告。

app.use(bodyParser.urlencoded({limit: '5mb', extended: true}));
blackmiaool answered 2020-08-09T06:52:38Z
0 votes

Express v4.x.x

Node.js v9.x.x

这取决于您是以JSON还是通过参数化URL查询接收数据。

我在发送大型JSON缓冲区时遇到了相同的问题。 该文件约为43KB,我是从中间件输入到Express API的。

我这样处理:

app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({ extended: false }));

当主体是一个大型JSON对象时,这为我解决了这个问题。

Ryan answered 2020-08-09T06:53:21Z
translate from https://stackoverflow.com:/questions/25332561/node-js-express-large-body-for-bodyparser