From 7727cc0915ed486c46e5efe668a1eef9182b4499 Mon Sep 17 00:00:00 2001 From: kgseong <36655690+kgseong@users.noreply.github.com> Date: Tue, 20 Feb 2018 17:33:19 +0900 Subject: [PATCH] for big file download --- .../ELFinderContentCommandStreamResult.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) 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 +}