栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

c# .net 1g以上大文件从服务器上下载

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c#  .net  1g以上大文件从服务器上下载

string fileName = “a.zip”;//最终下载到客户端保存的文件名
string filePath = Server.MapPath(“DownLoad/a.zip”);//服务器上的文件路径
WriteFile分块下载

 public void xzcz(string fileName, string filePath)
{
System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
 if (fileInfo.Exists == true)
   {
    const long ChunkSize = 102400;//100K 每次读取文件,只读取100K,这样可以缓解服务器的压力
    byte[] buffer = new byte[ChunkSize];
    Response.Clear();
    System.IO.FileStream iStream = System.IO.File.OpenRead(filePath);
   long dataLengthToRead = iStream.Length;//获取下载的文件总大小
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName));
    while (dataLengthToRead > 0 && Response.IsClientConnected)
          {
          int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//读取的大小
          Response.OutputStream.Write(buffer, 0, lengthRead);
          Response.Flush();
         dataLengthToRead = dataLengthToRead - lengthRead;
              }
                Response.Close();
                }
                }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号