- - PR -
【ASP.NET】ファイルダウンロード時のレスポンス
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-12-25 12:14
こんにちは。
ASP.NETで作成したWEBアプリ上でファイル(pdf,csv)のダウンロードが必要になりました。状況に応じて、ブラウザで直接ファイルを開いたり、ダウンロードダイアログで「開く」「保存」の選択をできるようにと考えています。 処理としては以下のようになっています @ 検索画面でデータを検索(検索結果の各行に「印刷」ボタンを配置) A @の検索結果「印刷」ボタン押下により、該当行のキーをパラメータにして ファイル出力用のページを開く B ファイル出力用のページではパラメータのキーを元に、pdfファイルを生成 C−1 ある条件では生成したpdfファイルをそのままリダイレクト (ファイル出力用ページがにそのままpdfファイルが表示される) C−2 ある条件では生成したpdfファイルをダウンロードさせる (ダウンロードダイアログ表示) ここでC−2の場合にダウンロードダイアログを表示し、「保存」「開く」を 行うことができるのですが、ファイル出力用ページが空のまま残ってしまいます。 なんとかして、このページを閉じる、もしくは「ダウンロード完了」のメッセージ 表示くらいをさせたいのですが、方法が検討もつきません。 どなたか分かりませんでしょうか? |
|
投稿日時: 2006-12-25 12:44
検索画面のページにサイズ0のIFRAMEを作って
ダウンロードのトリガーとなるボタンなどが押されたら、 iframe.src = "xxxx.pdf" のようなスクリプトを実行する。 すると、ファイル出力用のページを開く必要もなくダウンロードダイアログを表示することができます。 [ メッセージ編集済み 編集者: burton999 編集日時 2006-12-25 12:45 ] |
|
投稿日時: 2006-12-25 13:19
ありがとうございます。
そんな方法があるのですね!! ですが、少し説明不足でした。 今回検索画面はいくつかあり(10種類ほど)、 そこから出力するPDFは同じものになっているため、 全ての検索画面にサイズ0のフレームを作って 小細工するのも、どうかなと思っているのと、 今回の要件では条件によって新規ウィンドウのブラウザに 開いてしまいたい場合(ダウンロード確認なし)とダウンロードの 確認ダイアログを表示したい場合があるため、 どうしようか考えています。 |
|
投稿日時: 2006-12-31 21:33
「開く」で別のアプリケーションが“開いてしまいます”が、本来その、何も表示されていないフォームが開くはずのデータだったので、考えようによっては、そのフォームの中でアプリケーションが動かないのが変。とも、考えられませんか?
_________________ |
1