2011-11-28 76 views
0

我正在将一个Word文档转换并保存为SQL Server数据库作为varbinary。我可以保存数据。我想将上传的Word文档显示回给用户,就像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(); 

回答

0

前提是你必须在Web服务器上或应用服务器上的话,我会保存到临时文件,从数据库里的数据流,与Word打开,另存为HTML和渲染这个网站的网页浏览器。

编辑:

如在注释中提供的链接中提到:http://support.microsoft.com/default.aspx?scid=kb;EN-US;257757你应尽可能避免在服务器端代码,这里从本文由MS提取的Word/Excel自动化的用法:

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

建议的解决方法/替换:

Word Automation Services Overview

Excel Services Overview

+0

微软专门说你不应该在服务器上安装Microsoft Office,因为它有内存泄漏问题时,在长时间运行一段的时间。 – rtpHarry

+0

@rtpHarry能否请您从Microsoft发送此声明的链接?如果您在使用后处置和释放办公室对象,我认为无论如何这不是造成泄漏的原因。我从来没有见过你提到的文章(但没有链接),在任何情况下,不是一旦关闭或IIS应用程序池回收的内存? –

+1

当然,链接在这里http://support.microsoft.com/default.aspx?scid=kb;EN-US;257757 – rtpHarry

相关问题