2012-06-18 118 views
1

我的MVC應用程序具有下載文件的簡單文件下載控制器操作。如何讓Mozilla Firefox顯示文件下載進度

下面是代碼:

public ActionResult Download(string fileId, string filename) 
{ 
    //var fullFilePath = FileService.GetFullPath(fileId); // get the path to file 
    var fullFilePath = fileId; 
    return File(fullFilePath, "application/octet-stream", filename); 
} 

我可以下載/成功保存文件,但似乎無法得到Firefox來顯示文件下載進度。所有其他瀏覽器顯示文件下載進度。

有誰知道如何讓Mozilla Firefox顯示文件下載進度?

+1

假設文件正在下載罰款我懷疑這個問題是服務器端 –

回答

2

您需要將Content-Length添加到標題中,以便瀏覽器可以計算該標題。

HttpContext.Response.AddHeader("Content-Length", file.Length.ToString()); 
+0

我在哪裏添加這個? – user1204195

+0

@ user1204195,您可以在'return File'語句之前添加該行。 –

2

您需要發送一個Content-Length頭,告訴以字節爲單位的文件的大小,否則瀏覽器不知道該文件有多大,它不能顯示進度條。

如果您傳遞內容長度,那麼它可以在下載時顯示進度條。