expressjs的PayloadTooLargeError错误的解决办法

本文介绍Nodejs的Expressjs服务器出现PayloadTooLargeError错误的解决办法。

问题表现

当使用HTTP Put方法携带大量数据时前端会触发超时错误。

问题分析

在app.js中建立并使用应用级别的中间件函数,用于捕捉PayloadTooLargeError错误。

1
2
3
4
app.use(function (req, res, next) {
console.log(req)
next()
})

问题解决

nodejs 做为服务器,在传输内容或者上传文件时,系统默认大小为100kb,这时,我们需要修改系统限制。我们在app.js中调用接口和对应方法中,加入对应参数即可:

1
2
3
4
5
6
7
8
var bodyParser = require('body-parser');
app.use(bodyParser.json({
limit: '50mb' //nodejs 做为服务器,在传输内容或者上传文件时,系统默认大小为100kb,改为50M
}));
app.use(bodyParser.urlencoded({
limit: '50mb', //nodejs 做为服务器,在传输内容或者上传文件时,系统默认大小为100kb,改为50M
extended: true
}));

参考链接

  1. nodejs 做为服务器:PayloadTooLargeError: request entity too large when trying to POST into SQL, by IT博客技术分享.
  2. 【记录】form-data与x-www-form-urlencoded的区别,by -天道酬勤-.