繁体   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