Asp.net
ASP.NET MVC:從 FileResult 返回大量數據
我在 MVC4 中有一個文件瀏覽器應用程序,它允許您從控制器下載選定的文件。
目前,FileResult 返回文件的 Stream 以及其他響應標頭。雖然這適用於較小的文件,但較大的文件會生成 OutOfMemoryException。
我想做的是從控制器傳輸文件,而不以類似於 WebForms 中的 HttpReponse.TransmitFile 的方式在記憶體中緩衝。
如何實現?
您可以在返回文件結果之前禁用響應緩衝區。
Response.BufferOutput = false; return File(fileStream, contentType);
是的,您可以使用 Web Api 來流式傳輸文件,請查看這篇文章在 ASP.NET Web API 中處理大文件