Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 通过webapp存储多媒体文件上传_Database_Web Applications_File Upload_Filesystems_Store - Fatal编程技术网

Database 通过webapp存储多媒体文件上传

Database 通过webapp存储多媒体文件上传,database,web-applications,file-upload,filesystems,store,Database,Web Applications,File Upload,Filesystems,Store,我正在开发一个基于Spring和Hibernate的webapp,我想使用MySQL数据库通过文件上传机制存储多媒体文件。我不知道什么是最好的方法,我的意思是,我可以直接将文件存储到数据库中吗?或者我必须在数据库中保留一个引用并将文件存储在文件系统中吗 我在考虑第二种方法,但我不知道如何为数据库设计模型。我有一个用户档案,任何用户都可以存储不同的文件,如照片、音乐或视频。然后我在思考一个实体用户,它与一个具有N对N关系的实体多媒体相册相关。这意味着我有3个表(用户表、多媒体相册表和关系表) 此外

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

我在考虑第二种方法,但我不知道如何为数据库设计模型。我有一个用户档案,任何用户都可以存储不同的文件,如照片、音乐或视频。然后我在思考一个实体用户,它与一个具有N对N关系的实体多媒体相册相关。这意味着我有3个表(用户表、多媒体相册表和关系表)

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


非常感谢您的回复。

查看这篇文章,在MySQL中将文件存储为blob:

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

  • 更容易避免孤立文件。如果有人删除某个文件,您只能将其从数据库中删除。您不必搜索文件系统并将其删除

  • 如果您没有进行安全保护,并且人们上传脚本/程序,那么将它们放在数据库中而不是服务器的文件系统中应该更安全。(尽管我相信有创意的人仍然可以利用数据库中的文件进行破坏。)