Jfinal源碼分析--------上傳文件的補充說明

最後一個問題,爲何我說,不要使用Jfinal默認提供的那個上傳文件夾。 在平時的開發過程當中,我有一次使用了默認的上傳文件夾,後臺工程從新部署的時候,我upload文件夾竟然直接消失了。很奇怪對吧,其實後來我想過這個問題的緣由。其實很簡單,就是在同步工程的時候,IDE中的項目回去覆蓋咱們部署的在Tomcat文件夾下面的那個文件目錄,在咱們IDE中沒有upload這個文件夾,而Tomcat中正好有這麼一個文件夾,那麼就直接覆蓋,因此就找不到了。那麼你可能回想,我直接在IDE裏面建一個upload不就完了麼,好吧,假如你創建,那麼你數據庫中存放的是你的存儲路徑,沒錯,他可能會正常運行,可是你有沒有考慮,你的項目名稱在E盤,你的部署服務器沒有E盤,而你正好設置了你上傳文件根路徑在E盤,那麼上傳確定會失敗,由於物理上就沒有可行性了!! 那麼怎麼作了?java

很簡單,把你的上傳文件根路徑放在和你項目同一級別的文件夾中(切記是你Tomcat部署的那個),這樣的話 無論理項目怎麼更新編號,你的上傳文件夾都不會被覆蓋掉!!,舉個例子: 個人項目均部署在」d:/tomcat/webapp/projectA」,那麼個人上傳文件根路徑就應該設置爲「d:/tomcat/webapp/upload」,與projectA同一級,可是有同在WebApp下面,這樣文件就可以正常訪問了。我剛剛所說的這種問題只會出如今開發階段,在正式部署之後,因爲沒有IDE的從新部署,因此不會發生,可是爲了可以讓你在開發階段也可以安逸的完成上傳操做,個人建議就是我剛剛說的那個。固然你可能有更好的方法,也歡迎你提出來。web

再囉嗦一句。關於文件重命名的方法,就是你的文件名稱要獨一無二,防止衝突,其實這個已經不是什麼大問題了,咱們剛剛說過,上傳的文件已經被放在你設置好的目錄下面了,因此,你要作的就是找到你的文件路徑,而後爲該文件重命名,這個我想說啥了 基礎,這個不會的話,我建議你去惡補一下java的IO庫。命名文件的方式有不少好比UUID,時間戳,年月日時分秒+隨機數,之類之類的只要可以達成惟一性這個指標就好。數據庫

相關文章
相關標籤/搜索