2011-02-16 52 views
1

我正在開發一個Java應用程序中的Web應用程序來控制我的庫存並執行其他操作。我通過JSF組件上傳文件。這些文件是圖像。無論如何,我的問題是,我希望這些圖像存儲在Web應用程序的資源文件夾中。更具體地說,在名爲「userUploads」的子文件夾中。我創建了一個File對象,但是如何獲取表示該路徑的字符串?Java EE網絡應用程序文件創建

回答

0

執行以下操作:

  1. HttpServletRequest獲取HttpSession。從HttpSession獲取ServletContext
  2. 使用ServletContext.getRealPath()方法獲取安裝的絕對路徑。此方法的參數是一個相對於您的上下文根的路徑。

這裏是一個鏈接:ServletContext

1

如果你希望你的文件被存儲在「Web應用程序的資源文件夾」我猜你的意思是「根目錄」內一個名爲「資源」文件夾中。雖然這不是真的是最好的方法,你可以通過使用ServletContext實現這一點:

ServletContext sc = httpRequest.getSession().getServletContext();

String path = sc.getPath("resources"); 

File file = new File(sc.getPath("resources")) 

就個人而言,我建議創建「上傳」文件夾在您的web應用程序的目錄之外,以便在部署期間不會被替換等。

「我創建了一個File對象,但是怎麼做我得到一個代表該路徑的字符串?「

如果您有一個File對象,則可以調用myFile.getAbsolutePath()以獲取路徑的字符串表示形式。

+0

嘿,謝謝你的建議,我真的很感激它。還有一件事。我想將它們存儲在那裏,因爲它在以後的網頁中顯示非常方便。無論如何,我可以將它們存儲在另一個文件夾中,但同時在我的資源文件夾中可以使用它們嗎?像映射的東西可能是? – arg20 2011-02-16 23:36:59