Open棟梁 wiki
.NETによるファイルのダウンロード処理
Response.Clear();によってHTTPレスポンスのヘッダ&エンティティをクリアし、Content-Disposition(MIMEタイプ)、Cache-ControlとPragma(キャッシュ制御)の再設定が可能。ファイルを受信しきらないうちにクライアントがTCP/IPのコネクションをClose削除した場合、Response.End();ステートメントで例外 が発生することがある。必要であれば、Response.End();ステートメントの前後をTry...Catchで囲んで正常系で終了させる。
/// <summary>ページロードのUOCメソッド(個別:初回ロード)</summary> /// <remarks>実装必須</remarks> protected override void UOC_FormInit() { // フォーム初期化(初回ロード)時に実行する処理を実装する // TODO: // HTTPレスポンスのヘッダ&エンティティのクリア Response.Clear(); // HTTPレスポンス ヘッダ再設定 // MIMEタイプ Response.ContentType = "application/pdf"; // キャッシュ無効化 Response.Cache.SetCacheability(HttpCacheability.NoCache); //こっちは、専用アプリケーションで開く //Response.AppendHeader("Content-Disposition", "attachment;filename=test.pdf"); //こっちは、IEからOLEオブジェクトを開く Response.AppendHeader("Content-Disposition", "inline;filename=test.pdf"); // HTTPレスポンス エンティティ設定 Response.WriteFile( Path.Combine( GetConfigParameter.GetConfigValue("TestFilePath"), "test.pdf")); // HTTPレスポンス エンティティ設定の終了 Response.End(); }