- PR -

PDFをダウンロードさせたい

1
投稿者投稿内容
しずか
会議室デビュー日: 2004/06/21
投稿数: 14
投稿日時: 2005-02-15 22:15
こんばんは。
DataGridのButtonCulumnや通常のasp:Buttonをクリックしたら、PDFをダウンロードさせたいと思っています。
Response.WriteFileなどではブラウザ上で開いてしまう(クライアントのAcrobatの設定を変えればAcrobatがブラウザから独立して立ち上がるようにはできるのですが・・・)ので、これをブラウザで開かずに、ダウンロードダイアログが開いて、ダウンロードできるようにしたいのです。
どなたかご存知の方がいらっしゃいましたら、教えてください。
よろしくお願いします。
おふぃすこま
常連さん
会議室デビュー日: 2005/01/24
投稿数: 22
投稿日時: 2005-02-16 08:49
Response.AppendHeader("Content-Disposition", "attachment; filename=ファイル名")
Response.WriteFile(ファイルのパス)
↑でダメですか?

ちなみに、PDFダウンロードで「ファイルのダウンロード」ポップアップ画面が2回表示されてしまう問題もあるみたいなので気を付けて下さい。
(まあ、pdfに限った事じゃないですけど)
PDFファイルのファイルダウンロードについて[C#.NET]
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12900&forum=7
しずか
会議室デビュー日: 2004/06/21
投稿数: 14
投稿日時: 2005-02-19 23:33
おふぃすこまさん、ありがとうございます。
レスが遅れてすいません。

/////////////////////////
Response.AppendHeader("Content-Disposition", "attachment; filename=ファイル名")
Response.WriteFile(ファイルのパス)
↑でダメですか?
/////////////////////////

はうまくいかなかったのですが(テストページにボタンを貼り付けてやってみたら、WebForm1.pdfとなってしまいファイルが壊れていますとなってしまいました。)
リンクを辿っていって、そのコードを少し変えてみたら、うまくいきました。

Response.Clear()
Response.ContentType = "application/octet-stream-dummy"
Response.AppendHeader("Content-Disposition", "attachment; filename=" & HttpUtility.UrlEncode("ファイル名"))
Response.WriteFile("ファイル名")
↑リンクを辿った先では
Response.BinaryWrite("ファイル名")
になっていて、うまくいきませんでした。
Response.End()

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)