2011-11-28 78 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

相關問題