我有一個上傳表單的用戶可以上傳文件的Web應用程序。Java EE - 獲取上傳文件真實路徑的最佳方法?
我想將文件存儲到文件夾'文件'。我想這個文件夾直接放在webapp-root下。
使用Struts2的,在我的uploadFileAction,我可以輕鬆地設置這條道路與String uploadDir = ServletActionContext.getServletContext().getRealPath("/files")+ "/";
但是,當我試圖恢復的文件,顯然我的豆它試圖文件無法訪問接入getServletContext()
和從而拋出一個空指針getRealPath
現在即時嘗試弄清楚我應該如何處理這個問題。我聽說過春季資源是要走的路,但我找不到任何相關的例子。
有沒有簡單的方法來獲得我的路徑?我只想將rootpath指向我的webapp。沒有什麼比這更少的了......
哇。我沒有想到這一點。感謝您指出我的明顯錯誤。但是當我在平臺之間移動時(linux-windows),我需要一個相對路徑到我的上傳目錄。我不想在每次創建平臺時都跳轉到屬性文件... – user829237
在Java文件API中,像'/ var/webapp/uploads'這樣的類似Unix的路徑在Windows中工作得很好。它只是相對於執行代碼的磁盤而言的,Java會關注斜槓。例如。當服務器運行在'C:'上時,它最終會變成'C:\ var \ webapp \ uploads'。 – BalusC
謝謝你清除那一點。原諒我是一個unix新手,但我仍然有點不確定如何指定路徑,因爲我的UNIX服務器是共享主機,我想我只能訪問〜目錄,我需要把文件下的某個地方..任何指針會有很大的幫助! – user829237