一:问题描述
在项目中 应该经常会有 上传文件的功能 在上传文件的时候 可能会遇到 413 Request Entity Too Large的报错
当这个报错出现的时候 可能项目没有出现错误日志 可能排查不出来什么问题 (这时请把你的项目日志级别调试到 debug模式 这时候你就能看到错误日志了)
这个报错的原因是
【上传文件的大小超过了 服务器支持的最大限度 所以在后端就会出现这个问题】
二:解决问题的方法:
首先你要找到你的项目的配置文件 如下图
我这边是用的 yaml 方式的配置文件 分别为 demo环境 开发环境 生产环境 测试环境
1.在yaml中添加 上传文件max大小 如下配置:
spring:
servlet:
multipart:
max-file-size: 500MB
max-request-size: 500MB
配置上以后重启项目 再调用一下接口看看还会不会报413 Request Entity Too Large这个错误
如果还是会报这个错误 请接着操作第二步
2.在项目部署的服务器中 找到nginx配置文件 nginx.conf
cat nignx.conf 看看配置文件中是否有 http相关的配置 找到
keepalive_timeout 65; //链接时常 秒
client_max_body_size 500m;
请求时的 body大小 我这里设置的是500m 兆
按自己项目的需求而定吧
最后一步 让nginx 配置文件立即生效 然后重启的服务器上的项目
sudo nginx -s reload
或者重启nginx
systemctl restart nginx
至此 再上传 超过400M的文件都不会出现 413 Request Entity Too Large这个错误