3

データベースにバイト配列があり、それを pdf ファイル形式で表示する必要があります。これが私がやった方法です。ただし、これは Android タブレットでは機能しません (2.3.5 および 3.2 で確認済み)。

Response.Clear();
Response.ContentType = "application/octet-stream";
Response.BufferOutput = true;
Response.Buffer = false;
Response.AddHeader("Content-Length", binaryData.Length.ToString());
Response.AppendHeader("Content-Disposition", "inline;filename=ClientDocument.PDF");
// Response.BinaryWrite(binaryData);
Response.OutputStream.Write(binaryData, 0, binaryData.Length);
Response.End();

すべてのブラウザで動作させる方法を考えてもらえますか?

助けに感謝します

ありがとう

4

2 に答える 2

2

いくつかのこと...

  1. コンテンツ タイプを変更して、PDF ファイルの MIME タイプを修正します。application/pdf、application/x-pdf、application/acrobat、applications/vnd.pdf、text/pdf、text/x-pdf で使用されているこれらの膨大な配列があります。ここでは application/pdf のみを使用します。

    Response.ContentType = "アプリケーション/pdf";

  2. 次に、ブラウザーで PDF ファイルを開いて表示する場合は、Content-Disposition ヘッダーを削除します。

  3. ... または ... ブラウザに PDF ファイルをダウンロードさせたい場合は、Content-Disposition タイプを「インライン」ではなく「添付ファイル」に変更します。

    Response.AppendHeader("Content-Disposition", "attachment;filename=ClientDocument.PDF");

于 2012-05-01T19:13:16.693 に答える
0

テスト用のタブレット/携帯電話で最新バージョンのAndroidにアップグレードしましたか?

私が同様の問題を抱えていたとき、それは私のためにそれを修正しました(Androidのみのストリームまたはbyte []からブラウザに送信されたときにPDFが開かないかダウンロードされません)。

于 2012-10-02T11:23:17.570 に答える