ASP.NET MVC:从FileResult返回大量数据

Tim*_*ell 7 asp.net asp.net-mvc controller out-of-memory

我在MVC4中有一个文件浏览器应用程序,允许您从控制器下载选定的文件.

目前,FileResult返回文件的Stream以及其他响应头.虽然这适用于较小的文件,但较大的文件会生成OutOfMemoryException.

我想要做的是从控制器传输文件,而不是以类似于WebForms中的HttpReponse.TransmitFile的方式在内存中缓冲.

如何实现这一目标?

pha*_*tom 11

您可以在返回文件结果之前禁用响应缓冲区.

Response.BufferOutput = false;
return File(fileStream, contentType);
Run Code Online (Sandbox Code Playgroud)