我正在為學校制作一個電子商務應用程式,該應用程式有一個產品頁面,其中顯示每個產品的 jpg 影像。/img 檔案夾位于我的專案檔案夾中(請參閱路徑代碼),html 中的鏈接只是./img/ img name. 影像和產品是通過管理面板中的表單動態添加的,該表單將影像和其他資料作為 multipart/form-data 提供給我的 servlet。這是將影像保存在上述檔案夾中的代碼
Part filePart = request.getPart("slika");
String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString();
// Ugly absolute path
File filePath = new File("C:\\Users\\dgudo\\OneDrive\\Desktop\\Faks\\Sesti semestar\\Internet Programerski alati\\Projekat\\CateringService\\web\\img");
File file = new File(filePath, fileName);
try ( InputStream fileContent = filePart.getInputStream()) {
Files.copy(fileContent, file.toPath(), StandardCopyOption.REPLACE_EXISTING);
} catch (IOException ie) {
request.setAttribute("msg", ie.getMessage());
}
這行得通,但我使用的是我的本地機器獨有的丑陋絕對路徑。使用相對路徑不起作用,它告訴我找不到所需的資源,并且 usingSystem.getProperty("user.dir")回傳運行 Web 應用程式的 Tomcat 服務器的路徑,它顯然找不到任何東西。
所以我有幾個問題:
沒有互聯網接入(我將在大學展示應用程式的環境)什么是保存和提供 jpg 的最佳方式,
1.1 我應該保持原樣,希望教授看不到路徑(專案中有2000 行代碼,容易錯過)?
1.2 我是否應該將我的 /img 檔案夾移動到由 給出的路徑
System.getProperty("user.dir")并在那里服務/保存。如果是,如何將結果設定System.getProperty("user.dir")為全域變數,以便在 JSP 代碼中使用它?在實際生產環境中,影像是從哪里保存和提供的?
謝謝。
uj5u.com熱心網友回復:
問題一:
1.1 : 是個好辦法,只能修改
1.2:如果你喜歡用戶主目錄,你應該使用 System.getProperty("user.home") 而不是 System.getProperty("user.dir")
通常,在啟動應用程式時,您應該在管理影像的 user.home 目錄上創建一個臨時檔案夾 myapplicationimp"。
EX:如果您使用在創建 bean 后立即檢查并創建檔案夾的 springframework(仍然是一個示例),則可以使用 @PostConstruct。
問題2:
在生產保存資料中,我們使用與您使用的相同的方法,或第三方環境來喜歡遠程存盤庫(如谷歌驅動器)或資料庫。
希望這會有所幫助
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/504202.html
下一篇:Jsp無法獲取會話屬性值
