2016-02-13 63 views
0

我試圖在視圖中打開文件而不是下載它。該代碼在IE和Firefox中正常工作,但它在Chrome中下載文件而不是打開它。爲什麼在ASP.NET MVC應用程序中通過Action打開文件可以在IE和Firefox中使用,但不能在Chrome中使用?

這是我的代碼。

//OpenWord Action 
     string filePath = @"G:\WordDemo\DocXExample.doc"; 
     var doc = DocX.Create(fileName) 
     doc.InsertParagraph("This is my first paragraph"+person.FirstName+" "+person.LastName); 
     doc.Save(); 

     string fileName = "DocXExample.doc"; 
     byte[] fileData = System.IO.File.ReadAllBytes(filePath); 
     string contentType = MimeMapping.GetMimeMapping(filePath); 
    string mimeType = "application/msword"; 
Response.AppendHeader("Content-Disposition", "inline; filename=" + fileName); 
return File(fileData, mimeType); 

歡迎任何幫助和建議。

+2

請問您的Chrome瀏覽器版本有一個MS Word的觀衆? – wimh

+0

@Wimmel:感謝評論,但IE和Firefox正在使用系統的MS Word應用程序,所以我不認爲這是問題。 –

+1

@PratikPatil因此,儘管您的問題標題詢問「在瀏覽器中打開文件」,並聲稱在IE和Firefox中可用,但您現在在評論中說,該文件從不在任何瀏覽器中打開,而始終在單獨的應用程序中打開,那也是你在Chrome中尋找的東西?這是完全不同的問題。我強烈建議編輯你的問題,清楚地問你在做什麼。 – hvd

回答

0

它在設備和客戶端之間並不一致,因爲它依賴於爲客戶端安裝的插件。

試試這個。

主機在您的網站上的word文檔所以它是可供下載通過比如說http://www.example.com/path/mydocument.doc

在您的視圖中添加此iframe

<iframe src="http://docs.google.com/gview?url=http://www.example.com/path/mydocument.doc&embedded=true"></iframe> 
+0

我試過這樣的東西,但它沒有奏效。 '