C# Http文件下载公共类(支持断点续传)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
 
namespace XcDownLoadFile
{
     public  class DownLoadFile
    {
         ///
        
///  下载文件方法
        
///
        
///  文件保存路径和文件名
        
///  返回服务器文件名
        
///
         public  bool DeownloadFile( string strFileName,  string file)
        {
             bool flag =  false;
             // 打开上次下载的文件
             long SPosition =  0;
             // 实例化流对象
            FileStream FStream;
             // 判断要下载的文件夹是否存在
             if (File.Exists(strFileName))
            {
                 // 打开要下载的文件
                FStream = File.OpenWrite(strFileName);
                 // 获取已经下载的长度
                SPosition = FStream.Length;
                FStream.Seek(SPosition, SeekOrigin.Current);
            }
             else
            {
                 // 文件不保存创建一个文件
                FStream =  new FileStream(strFileName, FileMode.Create);
                SPosition =  0;
            }
             try
            {
                 // 打开网络连接
                HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create( " http://www.newxing.com/download/ " + file);
                 if (SPosition >  0)
                    myRequest.AddRange(( int)SPosition);              // 设置Range值
                
// 向服务器请求,获得服务器的回应数据流
                Stream myStream = myRequest.GetResponse().GetResponseStream();
                 // 定义一个字节数据
                 byte[] btContent =  new  byte[ 512];
                 int intSize =  0;
                intSize = myStream.Read(btContent,  0512);
                 while (intSize >  0)
                {
                    FStream.Write(btContent,  0, intSize);
                    intSize = myStream.Read(btContent,  0512);
                }
                 // 关闭流
                FStream.Close();
                myStream.Close();
                flag =  true;         // 返回true下载成功
            }
             catch (Exception)
            {
                FStream.Close();
                flag =  false;        // 返回false下载失败
            }
             return flag;
        }
    }
}

转载于:https://www.cnblogs.com/hayden/archive/2012/04/26/2472815.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值