0

我正在开发一个必须使用上传文件的项目。我使用 ASP.NET MVC3(C#) 作为前端,使用 SQL Server 2008 R2 作为后端。现在要上传文件,我必须选择:

1)将文件上传到项目的特定目录并将其路径存储到数据库中。(在将文件上传到该目录之前,我必须将文件名更改为当前时间戳,以便所有文件都具有唯一的名称。)

2) 将文件直接上传到数据库。

哪个选项会更好?我的项目以 KBs(pdf/word/images) 格式上传文件。

4

3 回答 3

3

直接存储在文件系统上通常会提供更好的性能。存储在数据库中意味着您可以在同一个事务中完成元数据的文件插入和更新(我想您将存储在数据库中的某个表中)。

第三种选择是使用 MSSQL 的文件流功能,让您可以将文件作为数据库中的字段处理,但也可以通过共享直接将它们作为文件访问。

于 2013-04-27T06:49:10.327 回答
0

我更喜欢将文件存储在 ftp 服务器中并将其路径放入数据库中。此外,对文件名使用时间戳似乎也不正确。使用 db 键值作为文件名是一个更好的主意。

当然,维护事务还有一个额外的复杂性——文件系统和数据库应该始终保持同步。

于 2013-04-27T06:48:27.027 回答
0

存储路径。您可以更轻松地更改文件。

于 2013-04-27T06:50:37.477 回答