导出到Word在本地工作,但不在IIS6上

时间:2014-12-18 09:15:17

标签: c# asp.net .net ms-word

我有一个下载创建和下载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();因为它抛出了“无法评估表达式的异常,因为代码是优化的或者本机框架位于调用堆栈之上”。

3 个答案:

答案 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