编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

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

wxchong 2024-08-19 02:13:52 开源技术 8 ℃ 0 评论

我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。

推荐一个一个功能强大、易于使用、高效稳定的.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

项目地址

https://github.com/bezzad/Downloader

我是编程乐趣,一个10年.Net开发经验老程序员,专注开源项目和编程知识分享。

私信回复:【888】,领取.Net视频教程。

- End -

推荐阅读

一个C#开发的非常实用的缓存中间件

一个基于.Net开发的Windows截屏录制工具

推荐一个.Net Core开发的蜘蛛爬虫开源项目

一个强大、支持100多中格式.Net图片操作库

推荐一个前后端分离.NetCore+Angular快速开发框架

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表