簡體   English   中英

如何在Java EE Web應用程序的MYSQL中存儲文件的物理文件位置?

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

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