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

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

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

如何做到这一点?

最佳答案

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

Response.BufferOutput = false;
return File(fileStream, contentType);

关于ASP.NET MVC : Returning large amounts of data from FileResult,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12710013/

10-10 02:01