express返回 413 Payload Too Large

作者:杨润炜
日期:2016/1/27 17:13

偶遇413

在某次提交数据时,后台返回了413错误,如图所示:
413-http-error

问题分析

一开始还以为是nignx,因为百度“ 413 Payload Too Large”时,大部分返回的是关于nginx。所以我也着手修改了nginx的配置:

  1. client_max_body_size 50M;

限制提交的body大小最大可达50M。然而并没有什么卵用。后台还是照样返回413。
再回过头来仔细看了一下后台返回的错误描述(chrome控制台的preview)内容,如图所示:
preview内容
这个说明是后台程序抛出的错误,因为这里显示捕获错误的位置在node.js的模块中。
换了个思路,找到了stackoverflow上的有关问答
原来body-parser这个模块会对提交json默认限制在1mb。

解决方法

在express启动文件中加入以下代码:

  1. app.use(express.json({limit: '50mb'}));

重启即可。

感谢您的阅读!
如果看完后有任何疑问,欢迎拍砖。
欢迎转载,转载请注明出处:http://www.yangrunwei.com/a/22.html
邮箱:glowrypauky@gmail.com
QQ: 892413924