0

画面にpdfを書き込もうとしているページがあります。これが私がやっていることです:

protected void ViewPDF(string url)
{
    Response.Clear();
    Response.ClearContent();
    Response.ClearHeaders();
    Response.ContentType = "application/pdf";
    Response.TransmitFile(url);
    Response.Flush();
    Response.End();
}

これは、Mac 上の Firefox を除くすべてのブラウザーと OS で機能します。ブラウザーに pdf ファイルを表示する代わりに、ブラウザーはファイルをダウンロードするためのダイアログを開きます。ファイルを開くか保存することができます。

私もこれを試しました:

protected void ViewPDF(string url)
{    
    Response.Clear();
    Response.ContentType = "application/pdf";

    string path = Server.MapPath(url);
    byte[] data = File.ReadAllBytes(path);
    Response.BinaryWrite(data);
    Response.End();
}

そして、私は同じ結果を得ます。

誰でもこれを修正する方法を知っていますか?

4

2 に答える 2

1

ブラウザは、任意のファイル形式をレンダリングできる必要があります。Firefox (Mac 用) には、そのままでは PDF レンダラーが含まれていません。それはとても簡単です。

http://support.mozilla.org/en-US/kb/view-pdf-files-firefox-without-downloading-themを参照してください。

于 2012-10-29T14:57:12.397 に答える
0

content disposition ヘッダーを変更してみてください。この投稿には完全な議論があります:

Content-Disposition:「インライン」と「添付」の違いは何ですか?

于 2012-10-29T14:59:03.273 に答える