質問

データベース(BYTE [])からユーザーにPDFを表示しようとしています。

以下のコードを使用してPDFをレンダリングしています。以下に示すように、バイナリテキストとしてPDFを与えています。 PDFアプリケーションで開く代わりに、PDFをテキストとしてレンダリングしています。

Response.Buffer = true;
        Response.Charset = "";
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        //Response.AddHeader("Content-Length", fileToDownload.Length.ToString());
        //Response.AddHeader("Content-Disposition", "inline; name=RemoteUserGuide.pdf");
        Response.AppendHeader("content-length", fileToDownload.Length.ToString());
        Response.ContentType = "application/pdf";
        Response.BinaryWrite(fileToDownload);
        Response.Flush();
        ////Response.Close();
        Response.End();

更新:このアプリケーションページは、ChromeでPDFを正しくレンダリングしていますが、IEでテキストを表示しています。 (テストするサーバーにFF3を持っていない)。おそらくそのいくつかのブラウザの問題はありますか?

何か案は?alt text

役に立ちましたか?

解決

破損したAdobeインストールはこれを行います。ターゲット(クライアント)マシンにAdobe Readerを再インストールします。

Adobeインストーラーがクラッシュしてこれを行うことがあります。

他のヒント

あなたが確信しているなら、あなたのブラウザがPDFを表示できることは、あなたは使用する必要があります @PAGE ContentType="application/pdf" の代わりに指令 Response.ContentType = "application/pdf";

また、を使用する必要があります Response.AddHeader("content-disposition", "filename=\"document.pdf\"" ); ファイル名を設定するため

IIS(インターネット情報サービス)の.pdf拡張機能のMIMEタイプが「アプリケーション/PDF」に設定されていることを確認してください。

他の人が言ったように、MIMEタイプ /ヘッダーをアプリケーション / PDFに設定してみてください。これがうまくいかない場合は、ブラウザを閉じて同じページを再開することです。FPDF(PHPのPDFジェネレーションライブラリでこの問題が発生しました。 )、ブラウザがページのマイム(PHP)をキャッシュし、ブラウザを閉じて再開することにより、永久に維持するように見えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top