How to raise a File Download dialog box for a known MIME type
The Internet Explorer 11 desktop application will be retired and go out of support on June 15, 2022 (for a list of what's in scope, see the FAQ). The same IE11 apps and sites you use today can open in Microsoft Edge with Internet Explorer mode. Learn more here.
This article provides the information about how to raise a File Download dialog box for known MIME types in Microsoft Edge and Internet Explorer.
Original product version: Internet Explorer 11, Internet Explorer 10, Internet Explorer 8, Internet Explorer 7, Microsoft Edge
Original KB number: 260519
When you serve a document from a Web server, you might want to immediately prompt the user to save the file directly to the user's disk, without opening it in the browser. However, for known MIME (Multipurpose Internet Mail Extensions) types such as Microsoft Word (application/ms-word), the default behavior is to open the document in Internet Explorer.
You can use the content-disposition header to override this default behavior. Its format is:
Content-disposition: attachment; filename=fname.ext
Content-disposition is an extension to the MIME protocol that instructs a MIME user agent on how it should display an attached file. The range of valid values for
content-disposition are discussed in Request for Comment (RFC) 1806 (see the References section of this article). This article focuses on the attachment argument, which instructs a user agent (in this case, Internet Explorer) to save a file to disk instead of saving it inline.
When Internet Explorer receives the header, it raises a File Download dialog box whose file name box is automatically populated with the file name that is specified in the header. Note that this is by design; there is no way to use this feature to save a document to the user's computer without prompting for a save location.
There are two ways that you can use Internet Explorer to specify a
content-disposition header for a file: dynamically and statically.
To apply the header dynamically, create an Active Server Pages (ASP) file that writes the document out to the browser. Use the
Response.AddHeader method to add the
content-disposition header. For example:
Response.AddHeader "content-disposition","attachment; filename=fname.ext"
This technique is ideal when you want to protect a document store on your server, especially one that exists outside of the Web root.
To apply the header statically, right-click the document in the Internet Service Manager, and then select Properties. Select the HTTP Header tab and enter the
content-disposition header there. This works best when you only want to apply
content-disposition to a few files on your system and don't require the overhead of ASP.
For more information about
content-disposition, see Request for Comments (RFC) 1806.