Springboot上傳文件臨時目錄無效

? ?????一個奇葩問題,雖然解決了,但還是沒弄清楚,小記一筆。

? ? ? ?年后回來,測試人員對年前的3次迭代的功能進行了回歸測試,然后發(fā)現(xiàn)所有excel導入的功能都失效了。作為后臺開發(fā)人員,當然是第一時間打開運行日志排查原因啦。但奇怪的是,后臺日志中并沒有ERROR信息......于是乎轉(zhuǎn)戰(zhàn)到前端,通過chrome的開發(fā)工具發(fā)現(xiàn)如下異常:

org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.439562935221680911.8769/work/Tomcat/localhost/ROOT] is not valid org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:112)?org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.(StandardMultipartHttpServletRequest.java:86)

.......

????????從異常信息來看,其實不難理解,就是上傳文件的臨時目錄失效了,百度以后確實如此。但是為什么過完年回來目錄就突然失效了呢?

? ? ? ? 繼續(xù)查詢相關(guān)資料后了解到,springboot啟動時會創(chuàng)建一個用于上傳文件的臨時目錄,而系統(tǒng)會在10天后自動清除該目錄。

解決方法:

1、重啟服務,重新生成目錄;

2、手動創(chuàng)建該目錄;

3、在啟動服務的main方法中,添加以下代碼,指定上傳文件的目錄:

@Bean

MultipartConfigElementmultipartConfigElement() {

MultipartConfigFactory factory =new MultipartConfigFactory();?

factory.setLocation("/data/apps/temp");?

return factory.createMultipartConfig();

}

4、在應用的配置文件中添加以下配置,原理同3:

server:

????tomcat:

????????basedir: /data/apps/temp

????????實踐證明,以上方法都沒有解決我的問題...

????????接著,我進入到服務器的tmp目錄,發(fā)現(xiàn)里面已經(jīng)創(chuàng)建了多個tomcat的臨時文件,看日期應該是我多次重啟產(chǎn)生的。那么正常情況下,解決方法1應該已經(jīng)生效了(雖然不能永久性解決這個問題),為什么還是報異常呢?令人蛋疼的是,新創(chuàng)建的臨時目錄的端口都是8491,就是我重啟的服務的端口,但是異常中的臨時目錄端口是8769,而8769正是zuul網(wǎng)關(guān)的端口。于是,我在zuul的配置文件里加上了解決方法4的配置信息,果然就好了...

????????令我不解的是,如果是zuul的問題,那么一開始應該就無法上傳,而不會等到年后才出現(xiàn)問題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,525評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,261評論 6 342
  • 本文包括:1、文件上傳概述2、利用 Commons-fileupload 組件實現(xiàn)文件上傳3、核心API——Dis...
    廖少少閱讀 12,742評論 5 91
  • 在我搭建基于Spring Cloud的微服務體系應用的時候所需要或者是常用的屬性配置文件,還有這些屬性的用途,此配...
    StrongManAlone閱讀 4,287評論 0 18
  • 陳二狗突然宣布自己脫單了,寢室里頓時炸開了鍋,吃瓜觀眾紛紛猜測這是什么如此倒霉的女孩被二狗看上,二狗約會回來后滿面...
    Core_eca4閱讀 354評論 0 0

友情鏈接更多精彩內(nèi)容