将文件上载到 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;
}
显然,我将文件保存在内存中,然后将它们上传到服务器,我认为这是一种非常糟糕的做法,所以无论如何我至少可以限制为此所需的内存量吗?
在我的情况下,最佳实践是什么?
Filestream 有一个 WriteByte 方法
写字节
请参阅插入数据示例
不确定这是最佳做法,因为它会降低内存,但会增加步骤。 需要测试一下。 如果整个文件没有加载,则需要逻辑来备份它。