从页面上传文件过大,页面报错 413 request Entity too Large,这个错误主要是因为请求长度超过了 Nginx默认的客户端最大请求大小。
Nginx的 client_max_body_size 默认大小为1m,因为是默认所以在它的配置文件里是没写这个属性的,于是我们要增加这个属性并赋值,client_max_body_size 20m;最大请求大小改为20M,在 nginx.conf配置文件中按如下形式增加
Nginx还有几个配置是:
client_body_buffer_size 15m(配置请求体缓存区大小)
client_body_temp_path /data/temp (临时文件存放路径)
如果没有其他需求,在这里暂时不用增加这两个配置。
这是第一步,但在你配置了 Nginx的配置之后,再次尝试会报 The field file exceeds its maximum permitted size of 1048576 bytes 这个错误,这个错误是 spring boot的问题,传输的大小超过了默认大小1m。解决方法是在配置文件中配置 spring.servlet.multipart.max-file-size 和 spring.servlet.multipart.max-request-size两个属性
目前来讲配置文件传输都是使用 spring.servlet来配置了,之前有过 spring.http的方式配置,现在已经过期无法使用。所以
当项目中配置文件格式为 application.properties时增加
spring.servlet.multipart.max-file-size = 20MB
spring.servlet.multipart.max-request-size = 20MB
当项目中配置文件格式为 application.yml时增加
spring:
servlet:
multipart:
max-file-size: 20MB
max-request-size: 20MB
这样问题就解决了