我有一个应用程序在表中创建记录(火箭科学,我知道).用户希望将文件(.doc,.xls,.pdf等)与表中的单个记录相关联.
我应该将文件的内容存储在数据库中吗?这会膨胀数据库吗?
我应该将文件存储在文件服务器上,并将路径存储在数据库中吗?
做这个的最好方式是什么?
Jay*_*ens 10
我认为你已经准确地捕捉到了解决这个问题的两种最流行的方法.各有利弊:
大多数rbms都支持在db中存储blob(或二进制文件数据,.doc,.xls等).所以你不是在这里开辟新天地.
这种方法非常简单,您可以将文件本身存储在文件系统中.您的数据库存储对文件位置的引用(以及有关该文件的所有元数据).这里有一个有用的提示是标准化磁盘上文件的命名方案(不要使用用户提供给你的文件,自己创建一个文件并将它们存储在数据库中).
在一天结束时,我们选择了文件系统路由.一旦我们锁定任何漏洞并将文件流出(而不是直接从文件系统直接提供),它更容易实现快速,易于备份,非常安全.在两种不同的政府应用中,它在大约6年的时间里以相同的格式运行.
Ĵ