3

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

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

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

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

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

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

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

3 ответа3

4

Я также удалил файл ~/.local/share/applications/mimeapps.list и проблема все еще сохраняется.

Вероятно, есть другой mimeapps.list другом месте системы. Вы можете просмотреть список здесь или выполнить поиск в вашей системе с помощью одной из следующих команд:

locate mimeapps.list

или же

find / -name 'mimeapps.list'

Проверьте, нет ли в них записей application/octet-stream , и закомментируйте их или удалите.

1

Что ж, похоже, что Firefox не решит эту проблему, но я исправил ее, удалив application/octet-stream=org.gnome.gedit.desktop из моего ~/.config/mimeapps.list и используя надстройку OpenDownload² для предоставь мне опцию Run .

Если расширение загружаемого файла правильно настроено в mimeapps.list , firefox откроет (запустит) его как чудо-кнопку .

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .