如何在网页内显示保存在数据库中的Word文档

时间:2011-11-28 18:26:29

标签: asp.net sql-server ms-word

我正在将word文档转换并保存为SQL Server数据库作为varbinary。我可以保存数据。我想将上传的Word文档显示回用户,就像简历在Word中看起来一样,就好像实际的Word文档嵌入在网页本身中一样。

我有下面的代码,它将保存的Word文档下载为Word文件。请告诉我哪个是在浏览器中显示word文档的最佳控件。

 byte[] fileContent = new byte[fuResume.PostedFile.ContentLength];
            fuResume.PostedFile.InputStream.Read(fileContent, 0, fuResume.PostedFile.ContentLength);
            //lblAppliedMessage.Text = ByteArrayToString(fileContent);

            //lblAppliedMessage.Text = BitConverter.ToString(fileContent).Replace("-", string.Empty);


            byte[] btYourDoc;
            btYourDoc = fileContent;
            Response.ContentType = "application/ms-word";
            Response.AddHeader("Content-Disposition",
            "inline;filename=yourfilename.doc");


            Response.BinaryWrite(btYourDoc);
            Response.End();

1 个答案:

答案 0 :(得分:0)

如果您在Web服务器或应用程序服务器上有文字,我会将来自数据库的流保存到临时文件中,用word打开它,另存为html并在Web浏览器中呈现此HTML。 / p>

修改

在评论中提供的链接中提到:http://support.microsoft.com/default.aspx?scid=kb;EN-US;257757您应该避免在服务器端代码上使用Word / Excel Automation,这里是MS的本文摘录:

  

Microsoft目前不推荐,也不支持,   任何无人值守的Microsoft Office应用程序的自动化,   非交互式客户端应用程序或组件(包括ASP,   ASP.NET,DCOM和NT服务),因为Office可能会出现不稳定   Office在此环境中运行时的行为和/或死锁。

建议的解决方案/替代方案是:

Word Automation Services Overview

Excel Services Overview