項目由多個微服務(wù)組成,通過Zuul進(jìn)行API接口的網(wǎng)關(guān)轉(zhuǎn)發(fā)。項目上線后正常運行,但運行一段時間后偶爾會出現(xiàn)文件上傳接口返回值為空的問題。接口的狀態(tài)為200,但通過瀏覽器調(diào)試發(fā)現(xiàn)response為空(因此斷定為Zuul層面錯誤)。
考慮的解決問題的方向:
1. 文件過大導(dǎo)致上傳失?。?/h3>
Zuul上傳文件 - 溝渠映明月 - 博客園 (cnblogs.com)
Spring boot默認(rèn)的文件上傳大小限制為1MB,但是即使修改之后依然無法解決問題
2. zuul的臨時文件目錄被定時清理導(dǎo)致
這個問題可以通過為server.tomcat.basedir設(shè)置一個指定的目錄來解決
SpringBoot文件上傳異常之提示The temporary upload location xxx is not valid
這個方法部分解決了問題,加上此配置后出現(xiàn)報錯的概率小了,但依然會出現(xiàn)問題
3. Zuul過濾了HTTP的header導(dǎo)致后端無數(shù)據(jù)?
zuul 巨坑 跨域 請求 正常 但沒有返回 結(jié)果_自由の力-CSDN博客](https://blog.csdn.net/taoli1986/article/details/95787546)
加上配置后無效果。
解決問題中的發(fā)現(xiàn)
在Spring boot 2.0中spring.servlet.http.multipart被替換為了spring.servlet.multipart,請注意Spring boot的版本問題。
java - How exactly spring.http.multipart.enabled is different from spring.servlet.multipart.enabled? - Stack Overflow
Zuul網(wǎng)關(guān) @EnableZuulProxy 和 @EnableZuulServer 的區(qū)別