- 追加された行はこの色です。
- 削除された行はこの色です。
[[Open棟梁>https://github.com/OpenTouryoProject]] wiki
*目次 [#b30c0350]
#contents
*概要 [#j59383d5]
.NETによるファイルのダウンロード処理
*詳細 [#qb6de0f1]
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();
}