0
我使用以下代码向客户发送.zip文件,它对60-80 Mb左右的文件非常有用,但是当我尝试使用大文件(300 Mb)的客户报告说,浏览器(包括IE和FFX)在几分钟后(大约(80Mb))停止下载进度,并且没有更多事情发生。几分钟后(80 Mb后)C#http下载带有大文件(300 Mb)
我不知道是否可能有一个安装问题,使IIS停止请求处理线程几分钟后执行或者如果我的代码有任何问题。
我明显可以找到其他方式来提供.zip文件,但这个问题困扰了我一下,我想让它工作。
代码:
Response.ContentType = "application/zip";
Response.AddHeader("Content-Disposition", "attachment; filename=" + "hands.zip");
var fi = new FileInfo(dld.Path);
Response.AddHeader("Content-Length", fi.Length.ToString());
const int buffercnt = 50000;
var buffer = new byte[buffercnt];
using (var br = new BinaryReader(new StreamReader(dld.Path).BaseStream))
{
int read = br.Read(buffer, 0, buffercnt);
while(read != 0)
{
Response.OutputStream.Write(buffer, 0, read);
read = br.Read(buffer, 0, buffercnt);
Response.Flush();
}
}
Response.Close();
Response.End();