[英]How to store physical file location of files in MYSQL for a java EE web application?
我在eclipse中為雲Web應用程序提供了三個項目,用戶可以在其中登錄並且應該能夠存儲文件。
前端 (servlets / html / jsp),
中間件 (ejb),
后端 (MYSQL服務器)
已經有一個有效的登錄表單連接到數據庫以驗證用戶身份。
據我了解,不建議使用BLOB,而是應該存儲物理文件位置。 我需要存儲有關每個文件的以下信息:
理想情況下,如果獲得許可,該用戶應該能夠訪問其他用戶目錄。
那么,是否可以用實現包含用戶憑據的登錄表的相同方式來實現?
如果數據庫僅存儲文件的位置,用戶將如何下載文件?
存放在哪里。
您確實是正確的,建議僅在數據庫中存儲文件位置,而不是在文件本身中存儲。 通常的做法是在將文件存儲在雲中時使用唯一的哈希名稱,同時在數據庫中保存唯一的哈希和原始文件的名稱。
分享分享
在Web應用程序中,用戶目錄與linux上的用戶目錄不同。 在網絡應用中,它們是虛擬的。 您需要一個共享表,該文件將文件ID與用戶ID或組ID鏈接在一起。
如何下載
只需提供指向存儲在網絡雲中的文件的鏈接即可。 如果您使用了如上所述的哈希名稱,那么其他人將無法猜到文件名+您可以避免編寫冗長的代碼來將文件從雲中獲取到servlet容器並將其內容傳遞給用戶的麻煩。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.