2015-04-23 31 views
0

我使用下面的代碼下載視頻文件在ASP.net MVC,但仍無法下載。無法下載視頻文件在ASP.NET MVC

public FileResult GetFile() 
{ 
    string filename = string.Empty; 
    byte[] file = null; 
    string path = string.Empty; 
    filename = "testVideo.mp4"; 
    path = Server.MapPath("location path here"); 
    System.IO.FileInfo fileinfo = new System.IO.FileInfo(path); 
    file = System.IO.File.ReadAllBytes(path); 
    return File(file, "content-disposition"); 
} 
+0

雙人間檢查是否有權利閱讀給定的位置。 –

+0

我檢查了這條路徑。我可以播放該文件,但無法下載該視頻。即使使用相同的代碼,我也可以下載.ppt文件。 –

+0

請看我的答案,希望它的mime類型需要添加 –

回答

1

你需要指定一個MIME類型文件函數的第二個參數:

return File(file, "video/mp4"); 

如果要強制要下載的文件,而不是觀看,那麼你也可以設置其上的文件名:

return File(file, "video/mp4", "myfilename.mp4"); 
+0

我也使用過這個,但它不工作。 –

+1

「不工作」不能幫助我們提供建議。你需要說出什麼是不工作的,任何錯誤信息和其他信息。我們無法看到您的系統! – Richard

+0

我在try和catch塊中循環了這段代碼。它不會拋出任何異常,即使最後一行返回的語句已經正確執行,但沒有顯示下載該視頻的彈出窗口。 –

0

請檢查您承載應用程序的服務器是否已添加或不添加mp4的MIME類型。

如果沒有,那麼嘗試添加的MIME類型在你的web.config文件,以使服務器可以發送此文件作爲響應,加上其MIME類型如下─一樣

<system.webServer> 
    ... 
    <staticContent> 
    <remove fileExtension=".mp4" /> 
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> 
    </staticContent> 
</system.webServer>