How can I view a PDF in Firefox when the server specifies the wrong content type?

4

1

I am using Mozilla Firefox with a PDF viewer plug-in. The plug-in has been correctly associated with Adobe Reader files to view them in the browser in the settings.

I would like to be able to view PDF files in Firefox rather than downloading them. This already works correctly when a web server indicates that a file has the Content-Type of application/pdf. However, some web servers provide other Content-Types for PDFs, such as application/octet-stream. (See this example of a PDF served with a non-pdf Content-Type.)

I have looked at Firefox's MimeTypes.rdf file, and it appears to only support mapping applications based on file extensions for non-Internet-based files. (It looks like it only uses Content-Type to map Internet-based files.)

How can I have Firefox view all PDF documents in-browser rather than only the ones with the application/pdf Content-Type?

Sam

Posted 2012-10-31T05:41:17.510

Reputation: 1 171

Answers

1

Firefox has no content inspection code (e.g. the linux file command) to detect the actual content type and rely on the Content-Type header.

Workaround: mozplugger extension

See 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.

Workaround: human interaction

Save the file and open it in the file explorer ;-)

Workaround: misconfiguration

An additional workaround is to hack mimeTypes.rdf and assign application/octet-stream to the same value as application/pdf.

I don't advice this workaround.

user86064

Posted 2012-10-31T05:41:17.510

Reputation:

1The description of the mozplugger extension seems to imply that it only works when the web server doesn't indicate the Content-Type. (I use Windows, so it looks like I can't test it.) – Sam – 2012-11-01T06:36:29.310

1

You can use Force Content-Type extension for pdf files with wrong Content-Type response header.

For example if web server provides Content-Type: application/octet-stream you can add rule to transform it to Content-Type: application/pdf based on pdf file url, like this:

enter image description here

ks1322

Posted 2012-10-31T05:41:17.510

Reputation: 403