オンラインで見つけた PDF ファイルを表示しようとしています。
通常、PDF ファイルを開こうとすると、Firefox はそれをデフォルトの PDF ビューア (pdfjs という名前だと思います) で表示します。これは適切で正常な動作です。
しかし...
オンラインで見つけたこの特定の PDF の場合、その場所へのリンクをクリックすると、Firefox がダウンロード ダイアログを表示します。ファイルはネイティブにダウンロードして表示できる PDF であるにもかかわらず、ダイアログではファイルが「バイナリ ファイル」として表示されます。
ウェブサーバーは「話さない「Firefox は、この PDF ファイルが実際には PDF ファイルであることを認識します。したがって、Firefox はそれが「バイナリ ファイル」であるとしか想定できません。」
このことがきっかけで、私はある疑問を抱くようになりました...
もしまたこの厄介な問題に遭遇したら、ファイルをダウンロードする代わりに、力Firefox でファイル (オンラインまたはそれ以外) をデフォルトの PDF ビューアで開くにはどうすればいいですか?
試みられた解決策:
- 私は答えを試しましたFirefox に組み込まれている PDF ビューア (pdf.js) を手動で呼び出す方法は?しかし、役に立ちませんでした。Firefox は単に「バイナリ ファイル」のダウンロードを試みます。
view-source:
Pdf の場所の先頭 (つまり ) に追加するとview-source:https://www.website.com/pdf.pdf
、Pdf ファイルの生の ASCII テキストが表示されます。
PS: 私は Firefox 48.0.2 を使用しています...
はい、古いです...
ご要望に応じて:
答え1
サイトがファイルを直接開くのではなく、ブラウザにファイルをダウンロードさせる方法はいくつかあります。
HTMLdownload
属性
タグのこの属性は、anchor
通常の方法でファイルを処理するのではなく、ブラウザにファイルを強制的にダウンロードさせようとします。
通常、これは、自動的に生成されたドキュメント名を取得し、それをユーザーにとってわかりやすいものとして提示する必要がある場合に使用されます。
使用法:<a href="http://www.website.com/path/to/YourDocument.pdf" download="YourDocument.pdf">...
これを回避する方法はまだ見つかっていませんが、問題の本当の原因は以下にあるため、完全に調査したわけではありません...
HTTP ヘッダー
Content-Disposition
Content-Disposition
Web サーバーは、ブラウザーがファイルを受信する方法を記述するヘッダーを使用して、ドキュメントの要求に応答できます。
Content-Disposition: Attachment
ブラウザに、ファイルを通常どおり処理するのではなく、ダウンロードするように指示します。
Content-Disposition: Inline
ブラウザに、Web ページ内に表示することも、Web ページとして表示することもできることを伝えます。
Attachment
以下は、ヘッダーを取得してヘッダーに置き換えるFirefox アドオンですInline
。
https://addons.mozilla.org/en-US/firefox/addon/bypass-forced-download/
技術的には、Content-Disposition: attachment
ヘッダーをインターセプトし、オンザフライで に書き換えますContent-Disposition: inline
。また、この書き換えを使用する必要がある Web サイトと使用すべきでない Web サイトを指定することもできます。
ほとんどのアドオンと同様に、結果は異なる場合があります。
Content-Type
Content-Type
Web サーバーは、ブラウザーに返すドキュメントの種類を説明するヘッダーを使用して、ドキュメントの要求に応答できます。
Content-Type: application/octet-stream
「任意のバイナリ データ」として定義され、基本的にファイルとしてのみダウンロード可能なので、それ以外の場合、ブラウザーはそれをどう処理すればよいかわかりません。
これは、ブラウザが表示しようとしている PDF ファイルを要求したときに表示されるものです。
Content-Type: application/pdf
このファイルをブラウザで表示したい場合、または少なくとも Firefox にファイルが何であるかを理解させ、正しく処理する方法を理解させたい場合に、おそらく必要になるものです。
Content-Type
これは、ヘッダーをリッスンし、その内容に基づいてヘッダーを書き換えるように設定できる Firefox アドオンです。
注記: ブラウザが MIME タイプを処理する方法を変更すると危険な場合があります。
https://addons.mozilla.org/en-US/firefox/addon/content-type-fixer/
繰り返しますが、このアドオンはすべてのケースで機能するとは限りません。