解决因nginx配置导致文件上传失败的问题

1.问题背景
项目组最近新开了一个项目,规模还比较大,目前正在开发第一版本的功能 。其中涉及到一个mp3文件上传至阿里云oss的逻辑,后端接口开发好了以后,并通过一个简陋的上传页面(带上传按钮),能够正常完成文件的上传下载操作 。但是有一个问题,服务部署到容器上以后,上传功能遇到问题 。
具体如下:
起初,会提示413 Request Entity Too Large 。
2.问题截图
 

解决因nginx配置导致文件上传失败的问题

文章插图
 
 
【解决因nginx配置导致文件上传失败的问题】3.问题分析
这个问题貌似没什么好分析的,比较直观,是Nginx的文件上传相关的配置需要改动 。主要是默认的上传容量太小了 。
4.问题解决(修改nginx的配置)
1、修改nginx配置,我这里是将最大上传容量设定为了200MB 。
 
解决因nginx配置导致文件上传失败的问题

文章插图
 
5.解决之后的“后遗症”(截图)
解决了nginx的问题之后,发现此时产生了一个新的问题,那就是后端服务这块还是有问题,下面是在本地复现的日志截图
The filed file exceeds its maximum permitted size of 1048576 bytes.
 
解决因nginx配置导致文件上传失败的问题

文章插图
 
 
6.分析并解决“后遗症”(截图)
从日志中我们可以看到,我们还需要修改后端服务关于文件上传下载的配置 。
我们项目是SpringBoot,我直接把截图放在这里,大家可以参考 。
主要就是在配置文件 Application.properties中设定
spring.http.multipart.max-file-size=200MB
 
解决因nginx配置导致文件上传失败的问题

文章插图
 
 
7.一句话总结
不光要解决nginx配置,还要解决后端框架的配置,其他的就没什么了 。




    推荐阅读