PDFファイルの出力に関する質問があります。現在、PDFをバイナリ形式でデータベースに保存しています。.NETでPDFバイナリデータ出力
http://myhost.com/FileManager.aspx?FileId=8465b2f9-b64e-4a9a-a449-94b5adb3b278
は、私は推測することができるものから、ブラウザにこれはPDFファイルをロードしていない.aspxページです:私は、次のようなURLを介してPDFファイルを出力しています。 FirefoxとIEはこれを正しく解釈してAdobe Acrobatを起動しますが、Chrome(12.0.742.112)はPDFリーダーを独自に実装しているため、ファイルを正しく開くことができますが、誰かがファイルをChromeに保存すると、 .aspxとして保存します。 .aspxの名前を.pdfに変更するだけで、ファイルが正しくダウンロードされます。しかし、私は「彼はその余分なステップを取る必要があり/ sの私の顧客を言って避けようとしてメートル
私は、Webインスペクタを経由してChromeでロードされたヘッダを見ることを選んだとき、私はこれを参照してください。
をFileManager.aspx:-1リソースがドキュメントとして解釈が、Chromeはこれを言うだろう、なぜ私は完全に理解できるMIMEタイプapplication/pdf
で を転送
さらに、私は保存を取得します。ページの読み込み時のボックスとして:
Response.AddHeader("content-disposition", "attachment;filename=blah.pdf");
しかし、私はそのファイルをブラウザに保存したいと考えていました。そのため、URL書き換えを使用する以外に、単にHTTPヘッダーを操作してページをPDFとして開き、Chromeに正しく保存する方法はありますか?
最後には、私は、Webサービスを使用してみましたが、私はページにバイナリデータを書き込むように見えることはできません。
this.Context.Response.BinaryWrite(bytes);
ご協力いただきましてありがとうございます。 ProjectName.FileManager
がFileManager
クラスの完全な名前(名前空間とクラス名)である
<httpHandlers>
<add verb="*" path="FileManager.pdf" type="ProjectName.FileManager" />
...:Webアプリケーションのトップレベルのweb.configで
クール、ありがとうございます。私はそれを考えなかったとは信じられません。とにかく、あなたの指示が少し不完全で、これを読んでいる人には、私はFileManager.aspxの名前をFileManager.pdfに変更して、私のURLをhttp://myhost.com/FileManager.pdf?FileId=2355235のように書くことができます。おかげさまでジャスティン。 –
良い点、私は私の答えを修正します。 –