1.問題背景
項(xiàng)目組最近新開了一個(gè)項(xiàng)目,規(guī)模還比較大,目前正在開發(fā)第一版本的功能。其中涉及到一個(gè)mp3文件上傳至阿里云oss的邏輯,后端接口開發(fā)好了以后,并通過一個(gè)簡(jiǎn)陋的上傳頁面(帶上傳按鈕),能夠正常完成文件的上傳下載操作。但是有一個(gè)問題,服務(wù)部署到容器上以后,上傳功能遇到問題。
具體如下:
起初,會(huì)提示413 Request Entity Too Large。
2.問題截圖
3.問題分析
這個(gè)問題貌似沒什么好分析的,比較直觀,是Nginx的文件上傳相關(guān)的配置需要改動(dòng)。主要是默認(rèn)的上傳容量太小了。
4.問題解決(修改nginx的配置)
1、修改nginx配置,我這里是將最大上傳容量設(shè)定為了200MB。
5.解決之后的“后遺癥”(截圖)
解決了nginx的問題之后,發(fā)現(xiàn)此時(shí)產(chǎn)生了一個(gè)新的問題,那就是后端服務(wù)這塊還是有問題,下面是在本地復(fù)現(xiàn)的日志截圖
The filed file exceeds its maximum permitted size of 1048576 bytes.
6.分析并解決“后遺癥”(截圖)
從日志中我們可以看到,我們還需要修改后端服務(wù)關(guān)于文件上傳下載的配置。
我們項(xiàng)目是SpringBoot,我直接把截圖放在這里,大家可以參考。
主要就是在配置文件 Application.properties中設(shè)定
spring.http.multipart.max-file-size=200MB
7.一句話總結(jié)
不光要解決nginx配置,還要解決后端框架的配置,其他的就沒什么了。