簡體   English   中英

在哪里將上傳的文件保存在服務器中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM