解决方法分两步走:
1、修改 express 框架设置请求的允许最大值
将原框架中这两行代码:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false}));
修改为:
app.use(bodyParser.json({limit: '50mb'})); // 这里 limit 值可以根据实际情况自由设定
app.use(bodyParser.urlencoded({
limit: '50mb',
extended: true
}));
重启服务继续上传大文件,如果问题解决,到此 OK。
如果仍然没有解决就有可能是代理 nginx 配置文件设置的问题,进入第二步。
2、修改 nginx 的配置文件 nginx.conf
在 http{} 中添加或者修改 client_max_body_size 设置
http {
client_max_body_size 100m; // 添加或修改本行配置,最大允许值可根据需求自由设定
include mime.types;
default_type application/octet-stream;
...
}
修改后上传覆盖掉原来的配置 路径 /usr/local/nginx/conf/nginx.conf 一般路径是这样,特殊情况自己去查。
重启 nginx
nginx -s reload
或者 /usr/local/nginx/sbin/nginx -s reload
问题解决。