先说明一下问题

由于上传的图片转成base64格式放在请求体作为参数之一请求接口的,结果发现报413错误码 Payload Too Large

接下来就是解决问题了


首先百度了一堆,基本都是让改服务器上nginx的配置client_max_body_size大小,没有就添加这个配置。得,我就照做了:

1、服务器上cd到nginx/conf目录下打开nginx.conf配置文件
2、找到http{}里的client_max_body_size,它默认是1m,但是我一看已经是配置50m了。。。我看请求体里的数据,觉着这足够了,然而先 不管三七二十一,我给它改成了300m。ok,保存。
3、由于修改了nginx配置文件,所以需要重启nginx,执行命令cd .. cd sbin ./nginx -s reload

就这样,我刷新页面再次尝试了一下,没解决…


于是继续百度,看到有说要改server{}里的location / {}的client_max_body_size。我想着也许是这样,所以按上面的步骤又操作了一波。
就这样,我刷新页面再次尝试了一下,还是没解决…


我不得不考虑是不是不是服务配置出了问题,是代码哪里出了问题
直到看到个让改bodyParser的,需要limit大小,系统默认大小为100kb。
我在代码里找到body-parser,看到我原来的代码是没有配置limit的app.use(bodyParser.json());
得,这肯定不够,八成问题就在于它了。
所以我就给他加上了,改成了app.use(bodyParser.json({ limit: '50mb' }));
成了!!!


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐