私はサーバー/クライアント アプリケーションで作業しています。このアプリケーションでは、クライアントがファイルをアップロード/ダウンロードできます。ファイルは、SQL サーバー (2012) に varbinay(max) として保存されます。問題は、パス パラメーターのみを受け入れる ReadAllBytes メソッドを使用して、サーバーのハード ドライブにファイルを保存せずに、ファイルをデータベースに直接アップロードすることです。
サーバー側で使用されるコードの一部を次に示します。
HttpPostedFile file1 = context.Request.Files[0];
byte[] buffer = new byte[file1.ContentLength];
file1.InputStream.Read(buffer, 0, file1.ContentLength);
データベース内のデータからファイルに書き込むためのコード ユーザーは次のとおりです。
foreach (var file in list)
{
System.IO.File.WriteAllBytes(path + file.FileName, file.FileContents);
}