ファイルダウンロード
ファイルのダウンロード時にはSystem.Web.UI.Pageオブジェクトに関連付けられているResponseオブジェクトの関数を用途によって以下の方法を使い分ける。
①Response.WriteFile()
サーバーメモリにファイルをバッファリングし、ダウンロード
サーバーのメモリ上限によって変化する。
protected void Page_Load(object sender, EventArgs e)
{
//ファイル情報の取得
System.IO.FileInfo oDownLoadFile = new System.IO.FileInfo("FilePath");
Response.WriteFile( oDownLoadFile.FullName );
//バッファリングされている出力を送信
Response.Flush();
Response.End();
}
②Response.TransmitFile()
サーバーメモリにファイルをバッファリングせず、直接ダウンロード
メモリにバッファリングしないため、最大2GBまで可能。
protected void Page_Load(object sender, EventArgs e)
{
//ファイル情報の取得
System.IO.FileInfo oDownLoadFile = new System.IO.FileInfo("FilePath");
//ブラウザに直接出力を送信
Response.TransmitFile(oDownLoadFile.FullName);
Response.End();
}