C# 在文件服务器或数据库中存储文件?

C# 在文件服务器或数据库中存储文件?,c#,asp.net,sql-server,sql-server-2008,ms-word,C#,Asp.net,Sql Server,Sql Server 2008,Ms Word,我正在ASP.Net中开发一些web应用程序,主要是关于存储、共享和处理MS Word文档和PDF文件,但我不确定如何管理这些文档,我正在考虑将文档保存在文件夹中,只将它们的元数据保存在数据库中,或者将整个文档保存在数据库中,我使用的是SQL Server 2008。你有什么建议 如果将这些文件存储在一个文件夹中,则在数据库中保留文件名。因为没有目录可以有两个具有相同扩展名的文件名。如果希望将文件存储到DB中,则可能必须使用BLOB或字节数组来存储 虽然我不知道数据库连接与file.Open(甚

我正在ASP.Net中开发一些web应用程序,主要是关于存储、共享和处理MS Word文档和PDF文件,但我不确定如何管理这些文档,我正在考虑将文档保存在文件夹中,只将它们的元数据保存在数据库中,或者将整个文档保存在数据库中,我使用的是SQL Server 2008。你有什么建议

如果将这些文件存储在一个文件夹中,则在数据库中保留文件名。因为没有目录可以有两个具有相同扩展名的文件名。如果希望将文件存储到DB中,则可能必须使用BLOB或字节数组来存储


虽然我不知道数据库连接与file.Open(甚至性能方面)相比有多快,但我在打开与数据库的连接时看得很清楚。

如果您将这些文件存储在一个文件夹中,请在数据库中保留文件名。因为没有目录可以有两个具有相同扩展名的文件名。如果希望将文件存储到DB中,则可能必须使用BLOB或字节数组来存储


虽然我不知道DB连接与file.Open(甚至是性能方面)相比有多快,但我在打开与DB的连接时看得很清楚。

如果文件相对较小,我会将它们作为BLOB字段存储在数据库中。这样,您就可以使用备份/恢复以及事务的标准过程。如果文件较大,则将其保存在硬盘上并按照前面的建议将文件名存储在数据库中会有一些好处

如果文件相对较小,则我会将其作为BLOB字段存储在数据库中。这样,您就可以使用备份/恢复以及事务的标准过程。如果文件很大,将其保存在硬盘上并按照前面的建议将文件名存储在数据库中会有一些好处

如果您只对这些文件进行操作,我会认为将它们像
BLOB
数据一样存储在IDB。如果文件夹中有文件,数据库中只有名称,则应注意以下事实,例如:

1) 有一天,您可能需要重命名文件

2) 改变它的位置

3) 更改其扩展名

或者别的什么

如果使用的是DB,则可以将数据保存在单独的表
BLOB
中,保存在
BLOB
表上的文件的其他表名和扩展名及其ID中。在这种情况下,在前面讨论的场景中,您只需要执行简单的SQLupdatequery

如果您只对这些文件进行操作,我会想将它们存储为IDB,就像
BLOB
数据一样。如果文件夹中有文件,数据库中只有名称,则应注意以下事实,例如:

1) 有一天,您可能需要重命名文件

2) 改变它的位置

3) 更改其扩展名

或者别的什么


如果使用的是DB,则可以将数据保存在单独的表
BLOB
中,保存在
BLOB
表上的文件的其他表名和扩展名及其ID中。在这种情况下,在前面讨论的场景中,您只需要执行简单的SQLupdatequery

SQLServer2008在存储和提供大型文档方面相当出色(与一些早期版本不同),因此它绝对是一种选择。这就是说,让DB提供大的blob通常不是一个好主意。我认为你需要考虑两种方法的优缺点。需要考虑的一些一般性问题:

  • 这些文件将有多大,有多少个?将文件系统扩展到超过许多TB比对DB进行同样的扩展要容易得多
  • 您希望如何管理备份?显然,使用文件系统方法时,需要将文件与数据库分开备份

我相信实现存储到数据库的解决方案可能会更快,但存储到文件系统通常是更好的解决方案。但是,在后一种情况下,您将不得不担心一些问题,例如具有唯一的文件名,并且通常不希望在单个文件夹中存储太多文档(大多数解决方案在每数千个文档之后创建新文件夹)。如果文件不会太多太大,请使用更快的方法,否则请在文件系统上花费一些时间进行存储。

SQL Server 2008在存储和提供大型文档方面相当出色(与早期的一些版本不同),因此它肯定是一种选择。这就是说,让DB提供大的blob通常不是一个好主意。我认为你需要考虑两种方法的优缺点。需要考虑的一些一般性问题:

  • 这些文件将有多大,有多少个?将文件系统扩展到超过许多TB比对DB进行同样的扩展要容易得多
  • 您希望如何管理备份?显然,使用文件系统方法时,需要将文件与数据库分开备份

我相信实现存储到数据库的解决方案可能会更快,但存储到文件系统通常是更好的解决方案。但是,在后一种情况下,您将不得不担心一些问题,例如具有唯一的文件名,并且通常不希望在单个文件夹中存储太多文档(大多数解决方案在每数千个文档之后创建新文件夹)。如果文件不会太多太大,请使用更快的方法,否则请在文件系统上存储一些时间。

您计划存储多少文档

数据库方法的主要优点是正常的属性——元数据将始终与文档保持一致,如果使用文件系统存储文档,则不会出现这种情况。使用文件系统,您的元数据和