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