先说明一下问题
由于上传的图片转成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' }));
成了!!!