鍍金池/ 問答/Java  Linux/ Springboot上傳文件 因為長時間沒有更新臨時文件路徑導(dǎo)致路徑被linux

Springboot上傳文件 因為長時間沒有更新臨時文件路徑導(dǎo)致路徑被linux刪除的問題?

春節(jié)過完之后,客戶突然提出上線的系統(tǒng)中不能上傳文件了。查看日志后,發(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.6321051024077769069.8090/work/Tomcat/localhost/ROOT] is not valid org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:112)?org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.

網(wǎng)上搜索一下后,發(fā)現(xiàn)是因為springboot上傳文件時,會在項目啟動的時候創(chuàng)建一個臨時文件夾,上傳的文件先要轉(zhuǎn)換成臨時文件保存在這個文件夾下面。因為春節(jié)期間,系統(tǒng)使用率較低,該文件夾長時間沒有更新,導(dǎo)致Linux刪除了該文件夾,所以才會報那個錯。

嘗試了網(wǎng)上的一種解決方式:

在yml配置文件中添加:server.tomcat.basedir: /data/apps/temp 手動的將臨時文件夾設(shè)置為自定義的文件夾,就不會被Linux刪除了

在本地系統(tǒng)(windows)中可以生效,系統(tǒng)會自動生成/data/apps/temp這一路徑,但是在Linux系統(tǒng)中不會生成/data/apps/temp路徑,請問為什么?

回答
編輯回答
情已空

linux系統(tǒng)中很重要的一點就是權(quán)限,檢查一下你的應(yīng)用用戶是不是有這個路徑的寫權(quán)限

2017年10月8日 01:25