[英]Where to save uploaded files in server?
我們已經使用JSP和Servlet開發了一個Web應用程序。 我們使用的服務器是Tomcat7。我們已經租用了帶有“私有JVM”的主機(Daily Razor)以在生產級別啟動該應用程序。
現在,在我們的應用程序中,用戶可以訪問特定的表單,在他的PC中瀏覽文件並將其上傳到服務器。 但是我有一個問題。 存儲這些文件的最佳位置是什么? 主要有3種類型的文件,因此我們想將它們分為“ Office”,“ Home”和“ Other”並為其創建3個文件夾,但是應該在哪個主文件夾中制作這3個文件夾?
最重要的是,這些文件不應通過URL訪問(因為任何人都可以獲取它們),但是Servlet可以。 除此之外,位置(字符串)應保存在我們的MySQL數據庫中,以便可以再次訪問該文件而不會出現問題。
我們使用Netbeans IDE開發了該應用程序,因此文件夾結構如下所示。
期待您的答復。
使用java屬性指定應該存儲文件的目錄,並在啟動過程中將其傳遞給tomcat。 同樣,最好將每個用戶的文件分開。
可能的解決方案:
-Duser.data.export.dir=D:\users_export\directory
在您的Java代碼中,讀取屬性
String property = System.getProperty("user.data.export.dir");
現在假設用戶“ A”
String userName = getCurrentUser();
Path userDirHome = Paths.get(property, userName, "Home");<br/>
現在使用userDirHome來存儲數據。
建議:在數據庫中存儲文件位置時,請確保不存儲完整路徑,而僅存儲相對路徑,例如“ Home / myFile.txt”。
這將在以后存儲文件的目錄發生任何更改時為您提供幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.