.doc文件在使用C#的Web浏览器中无法完美显示

时间:2016-06-07 11:23:17

标签: c# asp.net filestream

我有一个Web应用程序,我需要向用户显示一些pdf文件和word文档。通过单击按钮,pdf在浏览器窗口中完美呈现,但当我为.doc文件执行此操作时,它会下载并看起来像这样

Result of the code below

我的代码c#代码如下

            HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(FilePath);
            WebResponse myResp = myReq.GetResponse();
            //Response.AddHeader("Content-Disposition", "inline; filename=\"" + FileName + "\"");
            Response.AppendHeader("Content-Disposition", "inline; filename=\"" + FileName + "\"");
            Response.ContentType = "application/msword";
            using (Stream stream = myResp.GetResponseStream())
            {
                int count = 0;
                do
                {
                    byte[] buf = new byte[10240];
                    count = stream.Read(buf, 0, 10240);
                    Response.OutputStream.Write(buf, 0, count);
                    Response.Flush();
                } while (stream.CanRead && count > 0);
            }

有没有办法在浏览器窗口中显示doc/xls/ppt文件而不会丢失其格式,因为服务器端代码无法使用本机应用程序(如ms word)在客户端计算机中打开文件。是不是可以像在代码中那样将文件写入输出流

2 个答案:

答案 0 :(得分:0)

尝试两种不同的响应:获取myResp,然后输出。 见下文,这适用于我的机器dev和prod VS 2010。

NULL

答案 1 :(得分:0)

您可以尝试使用Microsoft的View Office documents online服务。