ファイルダウンロード

ファイルのダウンロード時には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();
        }