0

我正在开发一个基于 Spring with Hibernate 的 webapp,我想使用 MySQL 数据库通过文件上传机制存储多媒体文件。我不知道最好的方法是什么,我的意思是,我可以将文件直接存储到数据库中吗?还是我必须在数据库中保留引用并将文件存储在文件系统中?

我正在考虑第二种方法,但我不知道如何为数据库设计模型。我有一个用户个人资料,用户可以存储不同的文件,如照片、音乐或视频。然后我在考虑与具有 N 到 N 关系的实体 MultimediaAlbum 相关的实体用户。这意味着我有 3 个表(User、MultimediaAlbum 和一个关系表)。

此外,我想通过网络服务访问这些多媒体文件,所以我需要这些文件的链接。最后,我不知道将这些文件存储在文件系统中的什么位置。

非常感谢您的回复。

4

1 回答 1

0

查看这篇文章以在 MySQL 中将文件存储为 blob:如何使用 PHP 将 .pdf 文件作为 BLOB 存储到 MySQL 中?

我个人更喜欢将上传的文件存储在数据库中。我只做过几次,但有一些简单的原因:

  1. 更容易避免孤立文件。如果有人删除了文件,您只需将其从数据库中删除。您不必搜索文件系统并在那里删除它。

  2. 如果您没有安全权利并且人们上传脚本/程序,那么将它们放在数据库中而不是服务器的文件系统中应该更安全。(虽然我确信有创造力的人仍然可以对数据库中的文件造成损害。)

于 2013-02-18T01:30:04.163 回答