LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C# http断点续传下载源码

admin
2024年3月12日 23:53 本文热度 308

在C#中实现HTTP断点续传通常需要客户端支持Range请求头,以便请求下载文件的特定部分。以下是一个简单的示例,展示了如何使用HttpClient发送Range请求以实现断点续传:

using System;

using System.IO;

using System.Net.Http;

using System.Threading.Tasks;

 

class Program

{

    static async Task Main(string[] args)

    {

        string url = "http://example.com/large-file.zip"; // 替换为你要下载的文件URL

        string destinationPath = "downloaded-file.zip"; // 替换为你的目标文件路径

 

        using (HttpClient httpClient = new HttpClient())

        {

            // 获取文件大小

            HttpResponseMessage response = await httpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead);

            response.EnsureSuccessStatusCode();

            long fileLength = response.Content.Headers.ContentLength.Value;

 

            // 打开文件用于追加写入

            using (FileStream fileStream = new FileStream(destinationPath, FileMode.OpenOrCreate, FileAccess.Write))

            {

                // 定位到文件末尾

                fileStream.Seek(0, SeekOrigin.End);

 

                // 设置Range头部,从文件末尾开始

                HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, url);

                request.Headers.Range = new RangeHeaderValue(fileStream.Length, fileLength - 1);

 

                // 发送Range请求

                response = await httpClient.SendAsync(request);

                response.EnsureSuccessStatusCode();

 

                // 将响应内容写入文件

                await response.Content.CopyToAsync(fileStream);

            }

        }

    }

}

这段代码首先通过HttpClient获取文件大小,然后打开目标文件用于追加写入。之后,它设置了Range头部,指定从文件当前长度开始下载,并将下载的内容写入文件。这样可以实现从上次中断的地方继续下载文件,实现断点续传。


提示:AI自动生成,仅供参考。


该文章在 2024/3/12 23:53:06 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved