Microsoft KB Archive/182315

From BetaArchive Wiki
Knowledge Base


Article ID: 182315

Article Last Modified on 3/16/2005



APPLIES TO

  • Microsoft Internet Explorer 4.01 Service Pack 2



This article was previously published under Q182315

SYMPTOMS

According to the Web site http://www.nic.mil/ftp/rfc/rfc2183.txt setting a Content-Disposition header with type "attachment" when returning a file to a client, should force the client to prompt the user for input. Typically this input would indicate whether the user wishes to view or store the file. Internet Explorer 4.01 may attempt to open the returned file without prompting the user.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
This bug was corrected in Internet Explorer 5.

MORE INFORMATION

When a document file for an application installed on a client is first opened in the Internet Explorer, the Explorer will present the user with a File Download dialog box prompting the user with the following options:

  • Open this file from its current location
  • Save this file to disk

This dialog box also presents the user with the following check box:

Always ask before opening this type of file


Once the user clears this check box, Explorer will always open files of this type.

When a file is returned to the Explorer with a Content-Disposition header with type "attachment," Explorer should prompt the user regardless of the above selection. In fact, Explorer may not always prompt the user.

Internet Explorer 4.01 does support the Content-Disposition header in that it will initialize the File Download dialog box (if it does appear) with a suggested file name. The following code demonstrates how to send the Content-Disposition header and a suggested file name from a CGI program:

   #include <stdio.h>
   int main()
   {
     char szContentType[]="Content-Type: bad/type\r\nContent-Disposition:"
                          " attachment; filename=name.xxx\r\n\r\n";
     printf(szContentType);
     printf("This is a test.");
     return 0;
   }
                

Do not include a path in the file name parameter. Also, do not enclose it in quotes.

You might think that setting the Content-Type to a type unknown to Explorer would force the File Download dialog box. In fact, the Explorer "sniffs" the data sent from the server and detects the type of file being sent. If it recognizes the file type, it will behave according to the user preference. At this point, there is no completely reliable way to force the File Download dialog box to appear when downloading a file to Internet Explorer.


Additional query words: kbdsi

Keywords: kbbug kbfix kbfaq KB182315