我有一个下载创建和下载word文档的aspx页面。因为我使用下面的代码。它在我们的本地系统以及IIS7 / IIS8上运行良好。但是当我托管应用程序IIS6时,它会下载损坏的文档,并显示消息“由于内容存在问题,无法打开Office Open XML文件。”
我已经尝试了所有可能的解决方案但没有任何效果。
请帮帮我。
以下是代码。
string strfilename = Server.MapPath("~/Document.doc");
byte[] Content = File.ReadAllBytes(strfilename);
Response.ContentType = "application/octet-stream";
Response.AddHeader("content-disposition", "attachment; filename=Download.doc");
Response.BufferOutput = true;
Response.OutputStream.Write(Content, 0, Content.Length);
Response.Flush();
Response.Close();
//Response.End();
我评论过Response.End();因为它抛出了“无法评估表达式的异常,因为代码是优化的或者本机框架位于调用堆栈之上”。
答案 0 :(得分:0)
尝试使用HttpContext.Current.ApplicationInstance.CompleteRequest()
代替Response.End();
答案 1 :(得分:0)
尝试,
Response.Clear();
Response.ContentType = "application/vnd.ms-word";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + file);
答案 2 :(得分:0)
感谢您的帮助,但我自己找到了答案。
代码很好,但Office dll没有在GAC注册。
所以我从下面链接下载了PIA,将它安装在我的服务器上并开始工作:)
http://www.microsoft.com/en-in/download/details.aspx?id=18346 1