0

我正在使用 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;
}

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

就我而言,最佳做法是什么?

4

1 回答 1

1

Filestream 有一个 WriteByte 方法

写字节

请参阅插入数据示例

不确定这是最佳实践,因为它会降低内存但会增加步骤。需要测试一下。如果整个文件未加载,则需要逻辑将其退出。

于 2012-05-15T14:48:56.470 回答