当前位置: 首页 > 编程语言 > C#

流式传输Zip文件MVC.NETStartStreamingShare

时间:2023-04-11 02:18:33 C#

StreamingZipFilesMVC.NETStartStreaming浪费流媒体)我添加了一个thread.sleep来模拟延迟publicoverridevoidExecuteResult(ControllerContextcontext){响应.清除();响应.ClearContent();响应.ClearHeaders();响应.Cookies.Clear();response.ContentType=ContentType;response.ContentEncoding=Encoding.Default;response.AddHeader("Content-Type",ContentType);context.HttpContext.Response.AddHeader("Content-Disposition",String.Format("attachment;filename={0}",this.DownloadName));intind=0;使用(ZipOutputStreamzipOStream=newZipOutputStream(context.HttpContext.Response.OutputStream)){foreach(FilesToZip中的var文件){ZipEntryentry=newZipEntry(FilesToZipNames[ind++]);zipOStream.PutNextEntry(条目);线程.睡眠(1000);zipOStream.Write(文件,0,文件长度);zipOStream.Flush();}zipOStream.Finish();}回复。输出流。同花顺();看起来zip在压缩所有文件之前不会开始流式传输有没有办法连续流式传输?也许有不同的图书馆?假设zip格式是部分流式传输的,您的问题是默认情况下您的响应正在缓冲。如果将HttpResponseBase.BufferOutput设置为false,流式传输应立即开始。我认为您可能需要刷新输出流而不是zipstream以查看到http的任何输出。所以在这种情况下response.OutputStream.Flush()会出现在你的循环中。不确定它是否真正解决了您的问题。以上就是C#学习教程的全部内容:streamzipfileMVC.NET开始流式分享。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: