Generated Word document does not download in IE 6

  • Thread starter Thread starter allan.s.palmer
  • Start date Start date
A

allan.s.palmer

Hello,

I have an asp.net pop up that is generating a Word document real time
and sending it to the user by sending the appropriate response
headers. When it is run on our development environment it works fine
in both IE6 and IE7. We recently moved this to our UAT environment
and it works fine for IE7, but IE6 users are getting the option to
only download or save the .aspx page, not the generated .doc file.

Has anyone run into an issue like this before?

Thanks,
Allan
 
Absolutely, this can be quite a common situation.

I imagine that if you were to save the .aspx page with a .doc file
extension, you will actually receive the correct file. This is the default
behaviour of IE6 when running in the Internet zone.

You can get more reliable results using headers such as the following:

HttpContext.Current.Response.ContentType = "application/ms-word";
HttpContext.Current.Response.AppendHeader("Content-Disposition",
"attachment; filename=myWordDoc.doc");

Good luck,
BWC
 
Hi BCW,

Thanks for you tips.

This is how I am popping the document from a asp:Button in another
part of the application, but when the user submits some form values, I
am trying to pop the word document to them after the post. I was
doing this, initially, but then I realized that the page stopped
processing after this (shockingly enough, i know). So I opted for
having a pop up window run this code, so the parent page can
complete. Everything works great with the pop-up in dev on both IE6
and IE7, but in our UAT env. it only works for IE6.

Thanks,
Allan

string attachment = "attachment; filename=MyDoc.doc";
Response.ClearContent();
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
htw.Write(SOMEWORDTEXT);
HttpContext.Current.Response.ContentType = "application/ms-word";
HttpContext.Current.Response.ContentEncoding =
System.Text.UnicodeEncoding.UTF8;
HttpContext.Current.Response.Charset = "UTF-8";
Response.AddHeader("Content-Disposition", attachment);
Response.Write(@"<html xmlns:o=""urn:schemas-microsoft-
com:office:office"" xmlns:w=""urn:schemas-microsoft-com:office:word""
xmlns=""http://www.w3.org/TR/REC-html40"">");
Response.Write("<head>");
Response.Write(@"<meta http-equiv=Content-Type content=""text/html;
charset=windows-1252"">");
Response.Write("<meta name=ProgId content=Word.Document>");
Response.Write(@"<meta name=Generator content=""Microsoft Word
11"">");
Response.Write(@"<meta name=Originator content=""Microsoft Word
11"">");
Response.Write(@"<link rel=File-List href=""Doc1_files/
filelist.xml"">");
Response.Write("<!--[if gte mso 9]><xml> <o:DocumentProperties>
<o:Author> </o:Author> <o:LastAuthor> </o:LastAuthor> <o:Revision>1</
o:Revision> <o:TotalTime>1</o:TotalTime>
<o:Created>2008-05-13T17:47:00Z</o:Created>
<o:LastSaved>2008-05-13T17:59:00Z</o:LastSaved> <o:Pages>1</o:Pages>
<o:Company></o:Company> <o:Lines>1</o:Lines> <o:Paragraphs>1</
o:Paragraphs> <o:Version>11.9999</o:Version> </o:DocumentProperties></
xml><![endif]-->");
Response.Write("<!--[if gte mso 9]><xml> <w:WordDocument>
<w:View>Print</w:View> <w:DisplayBackgroundShape/>
<w:SpellingState>Clean</w:SpellingState> <w:GrammarState>Clean</
w:GrammarState> <w:PunctuationKerning/> <w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
</w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</
w:BrowserLevel> </w:WordDocument></xml><![endif]-->");
Response.Write(@"<!--[if gte mso 9]><xml> <w:LatentStyles
DefLockedState=""false"" LatentStyleCount=""156""> </w:LatentStyles></
xml><![endif]-->");
Response.Write(@"<style><!--@font-face {font-family:Verdana;
panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-
family:swiss; mso-font-pitch:variable; mso-font-signature:536871559 0
0 0 415 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-
parent:""""; margin:0in; margin-bottom:.0001pt; mso-
pagination:widow-orphan; font-size:8.0pt; font-family:""Verdana"";
mso-fareast-font-family:""Verdana"";}@page Section1 {size:8.5in
11.0in; margin:.5in .5in .5in .5in; mso-header-margin:.5in; mso-
footer-margin:.5in; mso-paper-source:0;}div.Section1
{page:Section1;}--></style>");
Response.Write(@"<!--[if gte mso 10]><style> table.MsoNormalTable
{mso-style-name:""Table Normal""; mso-tstyle-rowband-size:0; mso-
tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:"""";
mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-
margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:
8.0pt; font-family:""Verdana""; mso-ansi-language:#0400; mso-
fareast-language:#0400; mso-bidi-language:#0400;} said:
Response.Write("</head>");
Response.Write("<body lang=EN-US style='tab-interval:.5in'>");
Response.Write(" <div class=Section1>");
Response.Write(" <p class=MsoNormal><span style='font-size:
8.0pt;font-family:Verdana'><o:p>");
Response.Write(sw.ToString());
Response.Write("</o:p></span></p>");
Response.Write(" </div>");
Response.Write("</body>");
Response.Write("</html>");
 
Back
Top