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 に答える