3

我正在做一个项目,其中一项要求是文件上传和查看。我决定将文档存储在 Web 服务器上而不是数据库中。我的问题是……在服务器上存储大量文档的好方法是什么?上传的文档将与数据库中的主记录 ID 相关联,因此我考虑创建一个与主记录具有相同日期的文件夹,然后在文件名前面加上这样的 ID

2009-4-3
 234
  234-document.pdf
  234-courtrecord.pdf

这看起来可靠和直观吗?我将 ID 添加到文件中,以防它因任何特定原因被移出文件夹。以这种方式存储它们会有什么缺点吗?

只是寻找反馈,也许是一个更好的解决方案。

4

3 回答 3

1

我会使用一个平面文件系统,通过一些(生成的?)标签和记录 ID 组合来命名文件。不需要文件夹。如果要实现版本控制,可以使用日期时间戳。我已经看到有几个这样构建的系统运行良好。

如果您确实选择使用文件夹系统,请非常务实地执行文件夹命名、放置。您也可以将这两个选项结合起来。

就个人而言,我会将您的存储过程/实施与您的应用程序/访问过程分开,而不是让一个决定驱动另一个决定。使用应用程序逻辑访问文件。尽可能有效地存储它们。

例如,您可以根据需要集中存储文件,然后使用语义层以多种方式(名称、主题、类型等)查找文件。想想 wiki 系统是如何工作的。

于 2009-04-04T03:56:39.453 回答
1

与大型存储库相比,将文件存储在单独的、过时的文件夹中是否有任何价值?我建议使用单个目录存储库并使用通用文件处理程序。加班它会被证明是有用的。

如果记录 ID 与文件相关,则在文件名前面加上记录 ID 是个好主意。我经常在前面加上时间戳。

我们已经使用语言 (PHP) 中的本地 FTP 函数构建了几个文件存储系统,并使用了时间戳前置方法,它被证明是非常有效的。

于 2009-04-04T03:47:13.733 回答
0

那么像OpenCMS这样的内容管理系统呢?

检查此列表以获取其他人。

于 2009-04-04T03:15:45.870 回答