文件管理系统 - 存储文件的位置?

时间:2011-01-16 02:43:19

标签: c# asp.net document-management

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

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

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

1 个答案:

答案 0 :(得分:0)

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

但是,你必须考虑其他一些事情:

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

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

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

    如果是这样,您需要确保碰巧知道该网址的人无法阅读这些内容。 例如:通过将文件作为请求的附件返回。

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