我的MVC应用程序有一个简单的文件下载控制器操作,可以下载文件。
以下是代码:
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显示文件下载进度?
答案 0 :(得分:2)
您需要在标头中添加Content-Length
,以便浏览器可以计算出来。
HttpContext.Response.AddHeader("Content-Length", file.Length.ToString());
答案 1 :(得分:2)
您需要发送一个Content-Length
标头,以字节为单位告知文件大小,否则浏览器不知道文件有多大,也无法显示进度条。
如果您传递内容长度,则可以在下载时显示进度条。