私のFirefoxとChromeは、通常、PDFファイルを非常にうまく開きます。
弊社のWebサイト上のPDFへのリンクをクリックすると:
PDFを別のサーバー(lighttpdを使用したDjangoのインストール)にコピーすると、FirefoxとChromeが通常どおりうまく表示されます。
どうしましたか?
ダウンロードの代わりにブラウザでファイルを強制的に開く方法(pdf)?ColinM からの回答があり、ヘッダーがどうあるべきかを正確に示しています:
ファイルをブラウザで表示する必要があることをブラウザに示すには:
Content-Type: application/pdf Content-Disposition: inline; filename="filename.pdf"
ファイルを表示せずにダウンロードするには:
Content-Type: application/pdf Content-Disposition: attachment; filename="filename.pdf"
編集:ファイル名に
filename[1].pdf
などの特殊文字が含まれている場合、ファイル名を囲む引用符が必要です。そうしないと、ブラウザの応答処理能力が損なわれる可能性があります。
解決策はかなり特別でした。
サーバーには、PDFファイル用のデフォルトのMIMEタイプapplication/octet-stream
がありました。これをapplication/pdf
に変更すると、すべて正常に機能しました。
Lighttpd構成では、この定義を追加することで変更を達成しました。
mimetype.assign += ( ".pdf" => "application/pdf" )