問題:
- 使用getServletContext().getRealPath()得到的是臨時文件的路徑。
- 每次重啟服務,這個臨時文件的路徑還會變更。
- 類似下面這種路徑:
解決措施:
- 在idea的啟動配置里面配置工作區。
-
在工作區下建立public文件夾。
-
問題解決。
原理解釋:
- 源碼位置:
org\springframework\boot\web\servlet\server\DocumentRoot.java
- SpringBoot啟動后,默認會把commonDocRoot設置成這三個目錄(java項目 www.fhadmin.org)。
- 如果沒有就會設置成臨時位置。
- 注意:這些目錄都是在工作區下找的,如果沒有設置工作區,肯定也是找不到的。
- 配置好工作區,添加了public文件夾后,就能正常獲取路徑了。
- 文件存儲成功。