MozillaZine

File types and download actions

From MozillaZine Knowledge Base

This article describes how Mozilla browsers handle downloads for different file types and how to change that behavior. It applies to Firefox, Mozilla Suite/SeaMonkey 1.x and SeaMonkey 2.

Image:FxOpening-doc.png

Contents

Opening dialog

When you click a link to download a file, the MIME type determines what action is taken. If you see an "Opening <filename>" dialog asking if you want to save the file or open it with a specified application, that normally means that your Mozilla application cannot handle the MIME type internally, no plugin is installed and enabled that can handle it and you have not previously selected a download action or helper application to always use for that type of file. Starting in Firefox 3 and SeaMonkey 2, the "Opening <filename>" dialog will also appear if you have selected "Always ask" as the action for the file's content type in your (Helper) Applications options/preferences (see below).

The "Open with" option can show a "Choose" or "Browse" button, if no application is associated with the file type (shown here on Windows), or it may show a default application for the file type. You can choose to open the file with that application or you can choose or browse to a different application. You can use the "Browse" button or click the drop-down menu icon and then click on "Other" to open a "Choose Helper Application" dialog, as shown here on Windows.

Setting an automatic action

You can set an automatic action for opening a specific type of file by checking the "Opening" dialog option to "Always perform this action when handling files of this type" (Mozilla Suite/SeaMonkey 1.x) or "Do this automatically for files like this from now on" (SeaMonkey 2 and Firefox) . An entry will appear for that type of file in the Download Actions or (Helper) Applications listing.

Warning! Don't choose your Mozilla application to automatically open a file type. This can result in an infinite loop as Firefox or Mozilla Suite/SeaMonkey passes the file to itself as the helper application (bug 215554, bug 218257). [1] [2] [3] If you experience this problem, either change the download action for that file type to another action (or to "Always ask") in the Download Actions or (Helper) Applications listing or else reset all download actions (see below).

Unable to set an automatic action

In some cases, you may not be able to set an automatic download action. This can occur when a misconfigured web server assigns an incorrect MIME type, such as "application/octet-stream", shown here in SeaMonkey 1.x or if the server assigns "Content-Disposition: attachment" to the file download, as shown here in SeaMonkey 1.x ( the MIME type of a downloaded file, and whether it should be handled as an attachment, does not appear in Firefox or in SeaMonkey 2). [4] [5] When this happens, the option to always perform the same action will either be "grayed-out" or, in Firefox, selecting the "Do this automatically" option will not seem to have an effect and you will again be asked what to do when you next encounter that file type (see below for related bug reports). There is little you can do in these cases because the problem is at the server end.

Resetting download actions

This section applies to all versions of Firefox and Mozilla Suite/SeaMonkey

If problems arise or if you want to restore the default set of file download actions, do the following [6]:

  1. Type about:config into the address bar.
  2. Find the preference browser.download.pluginOverrideTypes and, if it is present, right-click on it and select reset.
  3. Find the preference plugin.disable_full_page_plugin_for_types and, if it is present, right-click on it and select reset.
  4. Open the profile folder. (The profile folder is hidden by default in Windows 7/Vista/XP/2000 and Linux; read this for help finding it).
    Note: In Firefox 3.6 and above you can open the profile folder from the Firefox menu, via "Help -> Troubleshooting Information".
  5. Completely close your Mozilla browser.
  6. Delete (or rename) the file mimeTypes.rdf.

File handling in current Firefox and SeaMonkey versions

Image:Fx19Applications-PDF.png

This section applies to all Firefox versions since Firefox 3 and SeaMonkey 2

Firefox and SeaMonkey will use an installed and enabled plugin to open a downloaded file by default, based on its MIME type (see Issues related to plugins for more information). Other download actions can be set from the Opening file dialog box that opens when you first encounter a particlar file type (see above).

You can manage what download actions are taken for file content types (MIME types) via the Applications tab in Firefox, shown here, and in the Helper Applications panel in SeaMonkey 2, shown below. (This applies to downloaded files only, not embedded content.) You can also set "Always ask" as an action for a listed content type (but note that the Opening dialog does not allow you to select a plugin action; read Opening files using plugins for more information). Web Feeds/Podcasts will also be listed as well as certain Internet protocols such as "mailto" or "rtsp".

The (Helper) Applications panel shows the Content Type (also known as the MIME type) , for example, "Wave Sound (audio/wav)", not the file extension. You may need to depend on the icon or content description to determine the type of file. Plugins are identified with "(in Firefox)" or "(in SeaMonkey)" after the handler name. You are able to change an action to "Always Ask" for a content type, but you cannot remove an entry. Also, the SeaMonkey 2 Helper Applications panel does not allow you to add a new file type, as you were able to do in SeaMonkey 1.x. [7] [8]

Important: Certain file extensions may include multiple content type entries, one for each MIME type associated with that type of file.

Built-in support for certain media

In addition to files such as plain text (TXT) and common images (JPG, JPEG, GIF, PNG) which Mozilla browsers can handle internally without needing a plugin or helper application, support for certain other files are built into the browser.

Portable Document Format (PDF)

Support for PDF files is built in to current Firefox versions and downloaded PDF files are previewed in Firefox by default. You can select a different action for the "Portable Document Format (PDF)" content type in the Firefox Applications window. See the Firefox Support article, How to disable the built-in PDF viewer and use another viewer for details. Built-in PDF support is not currently available in SeaMonkey. [9] [10]

Audio and video content

Support for open media (e.g., OGG and WebM container formats) is now built in to current versions of Firefox and SeaMonkey 2. Clicking on a download link to an "open media" file will open it automatically in the browser. There is no way to change that action, although you can context-click (right-click) on the link and save the file. [11] [12]

Starting in Firefox 21 on Windows 7 and above (Firefox 22 on Windows Vista), MP3 and M4A audio files, as well as MP4 video files with the H.264 video codec and either AAC audio or MP3 audio codec, are automatically opened in the built-in player by default using Windows Media Foundation (see bug 799315 for the background). Firefox "Options -> Applications" settings for those content types are ignored, unless you toggle the preference media.windows-media-foundation.enabled to false in about:config; however, doing so will also disable playback of supported MP3/M4A/MP4 <audio> and <video> content embedded in HTML5 webpages. [13] [14] [15] [16] [17]

Windows Media Foundation isn't available on Windows XP. Starting in Firefox 26, MP3 content on Windows XP will open in the browser with the built-in player using DirectShow. The related preference is media.directshow.enabled (bug 861693). The media.windows-media-foundation.play-stand-alone preference was added in Firefox 24 (for Windows Vista and above) which, when set to "false", was supposed to disable built-in playback of "standalone" media (downloaded files) while allowing playback of embedded HTML5 <audio> and <video> content for supported MP3/M4A/MP4 files (bug 861090). This preference reportedly no longer works; in which case, try also setting the preference media.directshow.enabled to false. [18] [19] [20]

Managing content types - Firefox 3 and above

This section applies to all Firefox versions since Firefox 3. The information in this section also applies, in general, to SeaMonkey 2.

Image:FF3-AppTab-Install.png

This section provides information on the use of the Applications tab in Firefox, found in

  • Tools-> Options [Windows]
  • Edit->Preferences [Linux]
  • Preferences [Mac]

The information applies generally although the pictures shown below are what would appear on a Mac.


When Firefox 3 (or above) is first installed, there are two possibilities. First is a clean install with no previous profile and the second is an install with a previous profile (likely from Firefox 2). In the first case the Applications tab will only contain a list of files handled by installed plug-ins plus a few other defaults such as mailto.

In the case of a second install with an existing profile from Firefox 2, the Applications tab may contain file types added for Firefox 2 requiring external applications as show in the figure for PowerPoint.



A New File Type


Image:FF3-NewType.png

As noted above for file types not already in the Applications tab, the first time you attempt to download a new file type the window at the right pops up. For this example a Rich Text Format or rtf file is used called test.rtf. At this point you can either elect to "Save File" (initial default) or "Open with".

If you select "Open with", you can then navigate after clicking the "Choose..." button to select an application. Once you have made a selection, checking the box "Do this automatically for files like this from now on." will cause the file type and action to be displayed in the Applications tab as shown below (in this example the selected application is TextEdit).


Image:FF3-TextEdit.png


Changing a File Type

If at some point you decide to change the default action, you can open the action drop down and select "Use other..." and navigate to select a different application. In the example below Microsoft Word was added. At this point you can elect to view the "Applications Details..." window below at right and remove TextEdit or leave both applications in the list.

Image:FF3-MSWord.png Image:FF3-Remove.png



Firefox Displays Wrong - Browser ABC Displays Correctly

One of the more common issues that arise in the Mozillazine Firefox Support Forum usually has subjects like:

  • Firefox is displaying code while Browser ABC displays correctly
  • Firefox not handling file correctly - asks to download

Most of the time these issues are traced to an incorrect MIME in the HTTP Response Header. Without getting overly technical it is instructive to provide a description of the cause of this.

Most people, read humans, that use computers are familiar with and understand the meaning of various file suffixes.

  • .doc is a Word file
  • .xls is an Excel file
  • .pdf is a Portable Document Format file
  • .jpg is an image file

They are predisposed to the idea that this is "how files are processed" by everything. In the case of files transferred from a web server to a browser, that is not correct. The Internet Engineering Task Force (IETF) in RFC2616 (Hypertext Transfer Protocol -- HTTP/1.1), Section 7.2.1 Type, states:

Any HTTP/1.1 message containing an entity-body SHOULD include a Content-Type header field defining the media type of that body. If and only if the media type is not given by a Content-Type field, the recipient MAY attempt to guess the media type via inspection of its content and/or the name extension(s) of the URI used to identify the resource.

In other words, how a file is processed by a browser is determined by the Content-Type field in the http Response Header; the file suffix should be ignored when there is a Content-Type field.

So, what is the problem? Web servers are complicated software packages. If one were to look at all the MIME type/subtype possibilities, there are more than 1,000. They run from the quite common (e.g., text/html) to the obscure (e.g., chemical/x-chemdraw or a ChemDraw file). Thus the probability of mis-configuring the MIME type/subtype data base used by the server is not zero. This non zero is further increased when amateur web site developers use a shared web site that charges $4.95 a month to host a site. There is virtually no support so the developer had better know what they're doing; which, is often not the case.

To illustrate the point consider two examples. Above the download action for a RTF file was to be opened with TextEdit. If the MIME type/subtype were specified correctly the following would be the result


This is a test of a Rich Text Format File also known as RTF.
This is a red test of a Rich Text Format File also known as RTF.


displayed using the TextEdit Application. On the other hand, if the MIME type/subtype were specified as text/plain, the result would be

{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf480
{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
{\colortbl;\red255\green255\blue255;\red234\green23\blue23;}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural

\f0\fs24 \cf0 This is a test of a Rich Text Format File also known as RTF.\
\
\cf2 This is a red test of a Rich Text Format File also known as RTF.\cf0 \
}

even if the file suffix were rtf.

In the case of a html file with the content-type improperly specified as text/plain you would see this with Firefox

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Test Page</TITLE>
<LINK REL="stylesheet" TYPE="text/css" HREF="test0.css">
</HEAD>

rest of code

With other browsers, particularly older versions the page may render "correctly".

So what can you do? Usually you should try to inform the site's webmaster of the incorrect configuration.

Managing content types - SeaMonkey 2

Go to "Edit -> Preferences -> Browser -> Helper Applications". The Helper Applications panel in SeaMonkey 2 will open. Here, you can change download actions in the same way as explained above for Firefox 3.

Image:SM2-HelperApps.png

File handling in Firefox 2 and SeaMonkey 1.x

This section describes file handling in older versions of Firefox and SeaMonkey.

Managing file types - Firefox 2

This will not affect media embedded in a web page - only links to the files themselves. Certain file extensions may include multiple entries, one for each MIME type associated with that type of file.


Changing download actions

Image:Download_Actions.png

Go to "Tools -> Options -> Content / File Types -> Manage...". The Download Actions window will open. (MIME types are not shown by default. Click the icon in the top right corner and select "MIME Type" to display them.)

Select a file type entry and click 'Change Action...'

  • If you want files of that type to open with the default application, select "Open them with the default application".
  • If you want a different application to handle that type, select "Open them with this application" and choose the application. Caution: Make sure that the application you choose can handle the file type. For example, to choose Windows Media Player, browse to the C:\Program Files\Windows Media Player folder in the "Select Helper Application" window and select "wmplayer.exe".
  • If you want the file to be saved instead of opened, select "Save them on my computer".
  • In some cases, the option "Use this Plugin" will be available. It is the default action if a plugin is found for the file type.


Adding a download action

MIME types that are not handled by plugins do not appear in the Download Actions listing unless you have previously encountered that type of file and checked the option in the "Opening" dialog box to "Do this automatically for files like this from now on", as described above. You cannot add new file types to the Download Actions listing in Firefox, as you can in Mozilla Suite/SeaMonkey 1.x. The Mimetype Editor/Download Actions extension provides the SeaMonkey 1.x "Helper Applications" interface, shown below, as a Firefox add-on.


Removing a download action

After a helper application or "save to disk" download action has been set, that action will be taken automatically for those types of files. To remove a download action, open the Download Actions dialog as described above, select the file type entry and click the "Remove action" button. The next time you encounter that type of file, an "Opening" dialog will appear, asking you to specify an application or save the file.

Removing a download action does not affect files that are handled by plugins. Firefox 2 will automatically use a plugin if it is available for the MIME type, as shown in the about:plugins list.

Managing file types - SeaMonkey 1.x

This applies to Mozilla Suite / SeaMonkey 1.x

Image:Helper_Applications.png

Go to "Edit -> Preferences -> Navigator -> Helper Applications". The Helper Applications preferences panel will open. Mozilla Suite and SeaMonkey 1.x list file type entries by MIME type, not file extension.


Changing actions for file types

This will not affect media embedded in a web page - only links to the files themselves.

In the Helper Applications panel, the entries will be listed as MIME types. Select the entry for the file type you wish to change and click the 'Edit' button to change the action.

  • If you want files of that type to open with the default application, select "Open it using the default application"
  • If you want a different application to handle that type, select "Open it with" and use the "Choose..." button to locate the program executable.
  • If you want the file to be saved instead of opened, select "Save it to disk".

Note: Mozilla Suite and SeaMonkey 1.x do not list plugin actions in the Helper Applications listing. You cannot disable a plugin for file downloads here. You can check in "Help -> About Plug-ins" to see which MIME types are automatically handled by plugins.


Adding a file type

The Helper Applications preference panel (shown above) allows you to add new download actions for MIME types. Clicking the "New Type..." button opens a dialog where you can add the MIME type (e.g. application/msword) description (e.g. Word Document) and file extension (e.g. doc). You can set the new download action to either open with a specified helper application or save to disk.

The actions you add will not affect MIME types that are handled internally, which include certain MIME types such as image/jpeg or text/plain [21] and all MIME types that are handled by plugins [22]. Before adding a new action for such MIME types, a Warning dialog similar to the following will be displayed:
Image:InternalMIMEtype.png


Removing a file type

After a helper application or "save to disk" action has been set, that action will be taken automatically for those types of files. To remove an action for a file type, open the Helper Applications preference panel as described above, select the file type entry and click the "Remove" button. The next time you encounter that type of file, an "Opening" dialog will appear, asking you to specify an application or save the file.

Removing a file type from the Helper Applications list does not affect files that are handled by plugins. Mozilla Suite/SeaMonkey 1.x will automatically use a plugin if it is available for the MIME type, as shown in the about:plugins list.

See also

External links

Related bug reports

Please do not comment in bug reports unless you are helping to fix the bug. Also note that some of the bugs listed below are fixed and others may be marked "invalid" or "wontfix"; these are included for informational purposes only.