转自

http://5543541.qzone.qq.com/blog/23

 System.IO.Stream iStream = null;
     byte[] buffer = new Byte[10240];
     int length;
     long dataToRead;
     string filepath = "文件存放地址";
     string filename = System.IO.Path.GetFileName(filepath);
     iStream = new System.IO.FileStream(filepath, System.IO.FileMode.Open, System.IO.FileAccess.Read,System.IO.FileShare.Read);
     Response.Clear();
     dataToRead = iStream.Length;
     long p = 0;
     if(Request.Headers["Range"]!=null)
     {
      Response.StatusCode = 206;
      p = long.Parse( Request.Headers["Range"].Replace("bytes=","").Replace("-",""));
     }
     if(p != 0)
     {
      Response.AddHeader("Content-Range","bytes " + p.ToString() + "-" + ((long)(dataToRead - 1)).ToString() + "/" + dataToRead.ToString()); 
     }
     Response.AddHeader("Content-Length",((long)(dataToRead-p)).ToString());
     Response.ContentType = "application/octet-stream";
     Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("真实文件名"));
     iStream.Position = p;
     dataToRead = dataToRead - p;
     while (dataToRead > 0)
     {
      if (Response.IsClientConnected) 
      {
       length = iStream.Read(buffer, 0, 10240);
       Response.OutputStream.Write(buffer, 0, length);
       Response.Flush();
       buffer= new Byte[10240];
       dataToRead = dataToRead - length;
      }
      else
      {
       dataToRead = -1;
      }
     }
     iStream.Close();
     Response.End();  
 
    

C#下载大文件并实现断点续传相关推荐

  1. Retrofit下载大文件、监听进度、断点续传

    前些天有个同学问我会不会使用Retrofit下载大文件,我就给了他我项目中使用的方法.发现有很多人还不会用Retrofit实现下载文件,即使会下载,也可能会出现问题,比如:不知道如何获取进度:一旦下载 ...

  2. python断点续传下载_Python 3 爬虫|第12章:并发下载大文件 支持断点续传

    1. stream 流式下载大文件 1.1 stream=True 和 iter_content() 我们将继续使用 Python 3 爬虫|第3章:同步阻塞下载 所搭建的测试环境,在 Nginx 默 ...

  3. [MAC]Google Drive下载大文件

    在使用Chrome从Google Drive下载8G数据集的过程中,多次出现网络错误问题导致下载失败,特在此记录解决方法. 下载前提:已成功翻墙 一.出错原因: Google Drive下载大文件的时 ...

  4. gee批量下载数据Google Drive下载大文件

    目录 Google Earth Engine 申请教程: shp上传 数据下载代码 区域裁剪(裁剪对代码执行效率影响极大) 批量RUN Google Drive下载大文件 Google Drive→M ...

  5. libcurl使用多线程下载大文件源码示例!

    使用libcurl多线程下载大文件的基本思想: 首选打开文件,将文件等分为指定的片段,使用http range下载,一个线程下载一个片段,当线程下载片段时,它们将数据写到打开文件的指定位置,类似BT文 ...

  6. python 下载大文件

    python 下载大文件 文件过大,建议用迅雷 下载大文件 import os import time import requests# 下载大文件 def download_data(url, pa ...

  7. JAVA大文件上传断点续传解决方案

    JAVA大文件上传断点续传解决方案 参考文章: (1)JAVA大文件上传断点续传解决方案 (2)https://www.cnblogs.com/songsu/p/11834425.html (3)ht ...

  8. JavaScript 下载大文件解决方案(Blob+OjbectURL)

    JavaScript 下载大文件解决方案(Blob+OjbectURL) 参考文章: (1)JavaScript 下载大文件解决方案(Blob+OjbectURL) (2)https://www.cn ...

  9. python requests下载文件很慢-python requests 下载大文件不完整

    目前我有一个脚本, 从帝联的 CDN 外链获取一下文件作为备份. 使用的是 Python 2.7.10 requests 2.8.1 目前碰到一个情况, 使用 requests 下载大文件的时候会出现 ...

最新文章

  1. SAP BD87将IDoc状态修改为68 ?
  2. 理解ResNet结构与TensorFlow代码分析
  3. unity3d 可视化编程_R编程系列:R中的3D可视化
  4. 漫步数理统计二十一——变换:随机向量
  5. 解决网卡无法自动获取ip的办法
  6. DPDK报文收发 run to completion, pipeline
  7. BZOJ5251 八省联考2018劈配(网络流)
  8. php 飞鹅云打印机_ThinkPHP飞鹅云打印接口
  9. 利用rufus重装ubuntu
  10. Differentially Private Asynchronous Federated Learning for Mobile Edge Computing in Urban Informatic
  11. xcode 打包ipa
  12. mac文件管理服务器,Path Finder For Mac v8.6 高效的文件管理工具 _ 黑苹果乐园
  13. 怎么用Excel公式计算百分比?教你三种计算方法
  14. 软件测试团队口号及队名,团队口号及霸气队名
  15. 一、恒生电子面试 (校招)
  16. linux环境包执行报错,linux环境下部署kettle,执行kitchen.sh文件报错后提示安装 libwebkitgtk 所需rpm包...
  17. ubuntu20.05+GTX1050Ti驱动+CUDA10.2+CUDNN8+pytorch最后OK
  18. easyui 设置css样式,Easyui 条件设置行背景颜色_EasyUI 教程
  19. 判断是页面否为微信打开
  20. CDN概念和基本原理

热门文章

  1. 在设计四人抢答器中灯全亮_数字电子技术课程设计报告(四人抢答器).doc
  2. 陕西师范大学计算机科学学院保研院校,陕西师范大学计算机科学学院量子信息学保研细则...
  3. cname 别名记录 解析过程_西部数码操作解析:如何为服务器创建别名地址
  4. mybatis parameterType
  5. Python datetime time
  6. 编程语言对比 循环语句
  7. opencv 形态转换
  8. d3 v5 api select
  9. c++ 数组(array)
  10. css 浮动在最上层_《CSS 知识总结》