将文件上载到 SQL Server,而不使用太多内存

本文关键字:太多 内存 上载 文件 SQL Server | 更新日期: 2023-09-27 18:34:25

我正在使用SQL Server 2008和FileStream数据类型将大文件保存在数据库中。

到目前为止,一切正常,但问题是我的上传方法如下所示:

public static void UploadFileToDatabase(string location)
{
   FileStream fs = new FileStream(location, FileMode.Open, FileAccess.Read);
   byte[] data = new byte[fs.Length];
   fs.Read(data, 0, System.Convert.ToInt32(fs.Length));
   fs.Close();
   SaveToDatabaseMethod(data)
   data = null;
}

显然,我将文件保存在内存中,然后将它们上传到服务器,我认为这是一种非常糟糕的做法,所以无论如何我至少可以限制为此所需的内存量吗?

在我的情况下,最佳实践是什么?

将文件上载到 SQL Server,而不使用太多内存

Filestream 有一个 WriteByte 方法

写字节

请参阅插入数据示例

不确定这是最佳做法,因为它会降低内存,但会增加步骤。 需要测试一下。 如果整个文件没有加载,则需要逻辑来备份它。