我使用Express.js ver 4.2并想要解析一个大帖子(150K - 1M),但收到错误消息“请求实体太大”。似乎限制是100 K.我现在不知道如何更改Express 4中的限制。在Express 3.x中,我刚刚做了 -
app.use(express.json({limit: '5mb'}));
app.use(express.urlencoded({limit: '5mb'}));
如何更改Express 4中的限制?
感谢您的帮助。
答案 0 :(得分:75)
使用Express 4,您必须安装body-parser
模块并改为使用它:
var bodyParser = require('body-parser');
// ...
app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({limit: '5mb'}));
答案 1 :(得分:10)
Mscdex的代码有效,但我们应该添加另一个参数以避免现在发出警告。
app.use(bodyParser.urlencoded({limit: '5mb', extended: true}));
答案 2 :(得分:0)
Express v4.x.x
Node.js v9.x.x
这取决于您是以JSON方式接收数据还是通过参数化URL查询。
发送大型JSON缓冲区时遇到同样的问题。该文件大约为43KB,我从中间件传入快速API。
我这样处理了:
app.use(bodyParser.json({limit: '5mb'}));
app.use(bodyParser.urlencoded({ extended: false }));
当身体是一个大的JSON对象时,这为我纠正了这个问题。