如何在.Net MVC中将文件从磁盘流式传输到客户端浏览器

我的操作将文件从磁盘返回到客户端浏览器,目前我有:

public FileResult MediaDownload () { byte[] fileBytes = System.IO.File.ReadAllBytes(Server.MapPath(filePath)); return File(fileBytes, System.Net.Mime.MediaTypeNames.Application.Octet, fileName); } 

这样它将整个文件加载到内存中并且非常慢,因为文件加载到内存后开始下载。 处理此类文件下载的最佳方法是什么?

谢谢

好的,我遇到了这个论坛讨论: http : //forums.asp.net/t/1408527.aspx

像魅力一样,正是我需要的!

UPDATE

遇到此问题如何在ASP.NET响应中提供大文件? 事实certificate它更简单,我现在就是这样做的:

 var length = new System.IO.FileInfo(Server.MapPath(filePath)).Length; Response.BufferOutput = false; Response.AddHeader("Content-Length", length.ToString()); return File(Server.MapPath(filePath), System.Net.Mime.MediaTypeNames.Application.Octet, fileName);