Firefox пытается открыть приложение / октет-поток с помощью gedit

2218
That Brazilian Guy

Я использую Firefox 41.0.1 на Fedora 22.

Я заметил это, когда пытался открыть ссылку на изображение PNG на сайте GitLab. Сервер отвечает с "Content-Disposition:"inline; filename="logo.png"и Content-Type:"application/octet-stream".

Я хочу, чтобы он либо отображал изображение в браузере, либо предлагал мне открыть его в системной программе просмотра изображений по умолчанию. Я знаю, что это возможно, по крайней мере, в Windows. Смотрите GIF ниже, любезно предоставленный @JourneymanGeek:

Firefox пытается открыть приложение / октет-поток с помощью gedit

Я провел несколько тестов, используя этот инструмент, и, очевидно, когда я нажимаю на ссылку, а заголовки ответа содержат application/octet-streamтип mime, Firefox предлагает мне открыть файл с помощью gedit, заявив, что это приложение по умолчанию.

Firefox пытается открыть приложение / октет-поток с помощью gedit

  • Если я скачаю файл (в данном случае изображение PNG) и дважды нажму на него, он откроется на Глаз Гнома.
  • xdg-open и открывает его в Глаз Гнома.
  • 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 и также вышел из своего профиля Gnome.

Вот экран сопоставления файлов Firefox:

Firefox пытается открыть приложение / октет-поток с помощью gedit

Итак, еще раз, мой вопрос: возможно ли, чтобы Firefox либо отображал файл в браузере (если это файл, который он может отображать), либо предлагал правильное приложение, способное отображать его (если он есть в системе)? ?

Или сервер, объявляющий неверный mime-тип, делает все это невозможным?

Кроме того, почему он думает, что geditэто octet-streamобработчик по умолчанию ? Это правильно?

3

3 ответа на вопрос

4
Bob

I have also removed the ~/.local/share/applications/mimeapps.list file and the issue still persists.

There is likely another mimeapps.list elsewhere on the system. You can go through the list here, or search through your system with one of the following commands:

locate mimeapps.list 

or

find / -name 'mimeapps.list' 

Check for any application/octet-stream entries in those, and either comment them out or remove them.

Для меня это был `~ / .config / mimeapps.list`, который содержал` application / octet-stream = org.gnome.gedit.desktop`. That Brazilian Guy 8 лет назад 2
(Этот ответ был опубликован после [некоторого обсуждения в чате) (http://chat.stackexchange.com/transcript/message/24823898#24823898).) Bob 8 лет назад 0
Спасибо чувак. Удаление линии исправило это немедленно. Боролся с этим уже несколько месяцев. nerdoc 8 лет назад 0
1
Geyslan G. Bem

Well, seems that Firefox will not fix this issue but I fixed it in my way removing the application/octet-stream=org.gnome.gedit.desktop from my ~/.config/mimeapps.list and using the add-on OpenDownload² to provide me the Run option.

If the extension of the file being downloaded is correctly configured in the mimeapps.list, firefox will open (run) it like a charm.

Кстати, я использую Firefox 41.0.2 в Arch Linux. Geyslan G. Bem 8 лет назад 0
0
Foo Bar

@Bob ответил на часть 2 вопроса: как контролировать, какое приложение открывает файл.

Ответ на часть 1: Firefox загружает все файлы типа application / octet-stream по своему дизайну . Согласно стандарту HTTP, совместимый браузер НЕ ДОЛЖЕН повторно угадывать сервер, если указан тип контента . Поскольку файлы октет-потока содержат произвольные данные, браузер должен загрузить их.

Большинство браузеров игнорируют стандарт в пользу удобства для пользователя. Firefox нет. Как указано в ответе @ Geyslan, вам потребуется стороннее расширение, чтобы обойти этот выбор дизайна.