diff --git a/ASP.NET/ELFinder.Connector.ASPNet/ActionResults/Files/Common/ELFinderContentCommandStreamResult.cs b/ASP.NET/ELFinder.Connector.ASPNet/ActionResults/Files/Common/ELFinderContentCommandStreamResult.cs index 04cd52a..d8a450f 100644 --- a/ASP.NET/ELFinder.Connector.ASPNet/ActionResults/Files/Common/ELFinderContentCommandStreamResult.cs +++ b/ASP.NET/ELFinder.Connector.ASPNet/ActionResults/Files/Common/ELFinderContentCommandStreamResult.cs @@ -75,7 +75,20 @@ public override void ExecuteResult(ControllerContext context) SetContentHeaders(context, response); // Write file - WriteFile(response); + //WriteFile(response); + int chunkSize = 8192; + byte[] buffer = new byte[chunkSize]; + int offset = 0; + int read = 0; + var fs = base.FileStream; + + while ((read = fs.Read(buffer, offset, chunkSize)) > 0) + { + if (!response.IsClientConnected) break; + response.OutputStream.Write(buffer, 0, read); + response.Flush(); + } + } @@ -83,4 +96,4 @@ public override void ExecuteResult(ControllerContext context) } -} \ No newline at end of file +}