Asp.net

ASP.NET MVC:從 FileResult 返回大量數據

  • June 11, 2016

我在 MVC4 中有一個文件瀏覽器應用程序,它允許您從控制器下載選定的文件。

目前,FileResult 返回文件的 Stream 以及其他響應標頭。雖然這適用於較小的文件,但較大的文件會生成 OutOfMemoryException。

我想做的是從控制器傳輸文件,而不以類似於 WebForms 中的 HttpReponse.TransmitFile 的方式在記憶體中緩衝。

如何實現?

您可以在返回文件結果之前禁用響應緩衝區。

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

是的,您可以使用 Web Api 來流式傳輸文件,請查看這篇文章在 ASP.NET Web API 中處理大文件

引用自:https://stackoverflow.com/questions/12710013