javaweb檔案上傳路徑在windows和linux上的相容性問題
阿新 • • 發佈:2019-02-08
最近做專案的時候遇到這個問題,於是開始研究。
1.問題起源:
是什麼原因導致了問題的發生呢?其實是因為windows和linux路徑不同。
windows下面檔案的路徑格式為 C:\Users\Lenovo\Desktop\新建資料夾
而linux下面檔案的路徑格式為 /opt/apache-tomcat-7/webapps/project/log
其實就是\和/的區別,由於檔案上傳成功在後端存檔案絕對路徑的時候是用的windows的方式,所以在windows沒問題,但是到linux上面路徑就錯掉了
2.如何解決?
那麼如何解決呢?其實讓檔案路徑根據伺服器的系統的不同而不同就可以了,而java已經給我們提供方法了 System.getProperty("file.separator")能根據系統的不同獲取檔案路徑的分隔符
path=path+"\\"+dateDirName+"\\"+dirName;
變為
path=path+ System.getProperty("file.separator") +dateDirName+ System.getProperty("file.separator") +dirName;