
Я использую Mozilla Firefox с плагином для просмотра PDF. Плагин был правильно связан с файлами Adobe Reader для просмотра их в браузере в настройках.
Я хотел бы иметь возможность просматривать файлы PDF в Firefox, а не загружать их. Это уже работает правильно, когда веб-сервер указывает, что файл имеет Content-Type
. application/pdf
Однако некоторые веб-серверы предоставляют другие Content-Type
s для файлов PDF, например application/octet-stream
. (См.этот пример PDF-файла, обслуживаемого не-PDF-файломContent-Type
.)
Я посмотрел наФайл MimeTypes.rdf для Firefox, и, похоже, он поддерживает только картографические приложения, основанные на расширениях файлов для файлов, не размещенных в Интернете. (Похоже, он используется только Content-Type
для картографирования интернет-файлов.)
Как мне сделать вид FirefoxвсеPDF-документы в браузере, а не только те, которые имеют символ application/pdf
Content-Type
?
решение1
В Firefox нет кода проверки содержимого (например, file
команды linux), который позволял бы определить фактический тип содержимого и полагался бы на Content-Type
заголовок.
Обходной путь: mozplugger
расширение
Видеть man 7 mozplugger
:
extensions This is a comma separated list of extensions that should be associated with this particular mime type. The exten‐ sions are only used when a web server does not report what type of file it is, or when loading files directly from disk.
Обходной путь: человеческое взаимодействие
Сохраните файл и откройте его в проводнике ;-)
Обходной путь: неправильная конфигурация
Дополнительным решением является взлом mimeTypes.rdf
и назначение application/octet-stream
того же значения, что и application/pdf
.
Я не советую использовать этот обходной путь.
решение2
Вы можете использоватьForce Content-Typeрасширение для файлов PDF с неправильным Content-Type
заголовком ответа.
Например, если веб-сервер предоставляет такую возможность, Content-Type: application/octet-stream
вы можете добавить правило для преобразования Content-Type: application/pdf
на основе URL-адреса PDF-файла, например: