1

我负责构建一个 ASP.NET MVC 文档管理系统。它必须能够执行基本的文档管理任务,例如添加、编辑和搜索条目,还必须执行版本控制。

无论如何,我将 PDF、Office 和许多图像格式作为附加到数据库中每个文档条目的文件。我的问题是:专业人士在构建存储机制时遵循哪些设计准则?他们是否将文档文件存储在文件系统中?数据库?如何处理文件上传?

我曾经在用户编辑数据时将文件上传到临时位置,并在用户确认创建条目时将其移动到永久存储。这个好吗?有什么改进建议吗?

4

1 回答 1

0

文件通常应该存储在文件系统上,而不是数据库上。

但是,您将不得不考虑其他一些事情:

  • 您是否计划为您的系统支持负载平衡、复制等?

    如果是这样,您将需要支持从某种网络位置保存/加载文件。
    这可能比您想象的要棘手。

  • 您是否计划保护对文件的访问?

    如果是这样,您需要确保碰巧知道该 URL 的人无法读取它们。例如:通过将文件作为请求的附件返回。

    这也可以防止用户提供的文件在您的服务器上执行 - 例如有人上传 .aspx 或 .exe 文件然后访问它。

于 2011-01-16T02:55:16.070 回答