一个支持多线程下载和断点续传.Net开源库

89 阅读1分钟

推荐一个一个功能强大、易于使用、高效稳定的.Net开源下载库。

01 项目简介

这是一个可用于下载各种类型文件,支持多种下载方式,如队列下载、优先级队列下载、本地文件下载等。

它提供了简单易用的API,方便开发者集成到自己的应用程序中。

支持实时流媒体,如在下载时播放音乐。

02 项目核心特点

1、简单易用的API,便于开发人员使用;

2、支持异步下载;

3、可以下载任何类型的文件,如图片、视频、PDF、APK等;

4、支持下载任何大小的文件、可实时获取进度信息;

5、支持多线程下载多部分文件;

6、支持断点下载,可处理客户端和服务端的异常;

7、支持下载配置,如文件快数、文件大小、下载速度;

8、支持暂停和恢复下载;

9、可序列化的下载包(JSON或Binary格式);

10、可控制下载所占用的内存大小;

11、支持实时流媒体,适合在下载时播放音乐。

03 使用方法

1、下载配置

var downloadOpt = new DownloadConfiguration()
{
    ChunkCount = 8, 
    ParallelDownload = true 
};

2、下载对象

var downloader = new DownloadService(downloadOpt);

3、下载事件绑定

// 开始下载时间
downloader.DownloadStarted += OnDownloadStarted;

//分块下载进度变化
downloader.ChunkDownloadProgressChanged += OnChunkDownloadProgressChanged;

//下载进度变化
downloader.DownloadProgressChanged += OnDownloadProgressChanged;

//下载完成
downloader.DownloadFileCompleted += OnDownloadFileCompleted;

4、下载文件

string file = @"d:\fileName.zip";
string url = @"https://xxx.com/fileName.zip";
await downloader.DownloadFileTaskAsync(url, file);

04 项目地址

github.com/bezzad/Down…

- End -

更多开源项目: github.com/bianchengle…