Fedora22でFirefox41.0.1を使用しています。
GitLabサイトでPNG画像リンクを開こうとしたときにこの動作に気づきました。サーバーは"Content-Disposition:"inline; filename="logo.png"
およびContent-Type:"application/octet-stream"
で応答します。
ブラウザに画像を表示するか、システムのデフォルトの画像ビューアで開くように提案してほしい。可能だとわかっている。少なくともWindowsでは。 @JourneymanGeekから提供された以下のGIFを参照してください。
このツール を使用していくつかのテストを行いました。リンクをクリックし、応答ヘッダーにapplication/octet-stream
mimeタイプが含まれていると、Firefoxはgeditを使用してファイルを開くように提案します。デフォルトのアプリケーション。
xdg-open
はEyeofGnomeでも開きます。application/octet-stream
は/usr/share/applications/defaults.list
に存在しません$ grep "gedit" /usr/share/applications/defaults.list
はtext/plain=org.gnome.gedit.desktop
のみを返します~/.mozilla/firefox/<profile>/mimeTypes.rdf
ファイルを削除しましたが、問題は解決していません。~/.local/share/applications/mimeapps.list
ファイルも削除しましたが、問題は解決しません。Firefoxのファイルの関連付け画面は次のとおりです。
繰り返しになりますが、私の質問は、Firefoxにブラウザにファイルを表示させることは可能ですか(レンダリング可能なファイルの場合) 、またはそれをレンダリングできる正しいアプリケーションを提供しますか(システムに1つある場合)?
または、サーバーが誤ったmime-typeを宣言すると、すべてが不可能になりますか?
また、なぜgedit
がデフォルトのoctet-stream
ハンドラーであると考えているのですか?これは正しいです?
~/.local/share/applications/mimeapps.list
ファイルも削除しましたが、問題は解決しません。
システムの他の場所に別のmimeapps.list
がある可能性があります。リスト ここ を調べるか、次のいずれかのコマンドを使用してシステムを検索できます。
locate mimeapps.list
または
find / -name 'mimeapps.list'
それらにapplication/octet-stream
エントリがないか確認し、コメントアウトするか削除します。
Firefoxはこれを修正しないようです issue ですが、application/octet-stream=org.gnome.gedit.desktop
から~/.config/mimeapps.list
を削除し、アドオンを使用する方法で修正しました OpenDownload²Run
オプションを提供します。
ダウンロードするファイルの拡張子がmimeapps.list
で正しく設定されている場合、Firefoxはチャームのように開きます(run)。
@Bobは、質問のパート2、つまりファイルを開くアプリを制御する方法に回答しました。
パート1の答えは次のとおりです。Firefoxはタイプapplication/octet-streamのすべてのファイルを設計でダウンロードします。 HTTP標準によると、 コンテンツタイプが指定されている場合、準拠するブラウザはサーバーを2番目に推測してはなりません 。オクテットストリームファイルには任意のデータが含まれているため、ブラウザはそれらをダウンロードする必要があります。
ほとんどのブラウザは、使いやすさを優先して標準を無視します。 Firefoxはそうではありません。 @Geyslanの回答で述べられているように、この設計上の選択を回避するには、サードパーティの拡張機能を使用する必要があります。