2011-11-30 43 views
3

我使用下面的C#代碼將.doc文件保存爲SQL Server數據庫varbinary(max)我應該如何將.doc文件保存到SQL Server數據庫

我可以保存文件,但是當我檢索文件並想要在網頁上顯示內容時,我的代碼正在下載文件,我對如何處理它非常困惑。

我正在尋找的確切功能是naukri.com上傳簡歷並給出預覽。我的代碼是:

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.OutputStream.Write(btYourDoc, 0, fileContent.Length); 

Response.BinaryWrite(btYourDoc); 

Response.End(); 

回答

0

squillman是對的。有大量的第三方組件執行Word - > HTML轉換。

另一個可能更適合Intranet站點的選項是在服務器上安裝Word。

這樣的一個例子是在這裏:

http://www.c-sharpcorner.com/UploadFile/munnamax/WordToHtml03252007065157AM/WordToHtml.aspx

實際上,該文檔被打開,被救出來的HTML,那麼隨後的請求可以檢索預覽文件的HTML版本。

辦公自動化服務器端存在許多缺陷 - 請參閱http://support.microsoft.com/kb/257757瞭解更多信息。

2

您的文件得到下載,而不是顯示的原因是因爲你設置的內容類型爲application/MS-字。這告訴瀏覽器下載該文件(它們不能本地處理該類型的文件,因此它們委託給外部應用程序)。

您需要知道如何解釋MS Word格式的代碼,並將其轉換爲可在瀏覽器中查看的內容(HTML,某種插件可以爲您完成此操作等)。保存原始Word文檔,然後以相同狀態發送回客戶端基本上只是讓他們下載一個Word文件。

+0

我同意你的意見 – Tan

0

下面是一個很好的例子,最終結果由用戶決定是否下載或查看文件here's the link,但@Squillman是正確的,可以通過放置Response頭來告訴它下載。

相關問題