实例介绍
Downloader
🚀 快速、跨平台、可靠的多部分下载器,支持 .Net Core 🚀
Downloader是一个现代、流畅、异步、可测试和可移植的.NET库。这是一个支持异步进度事件的多部分下载器。
Downloader与 .NET Standard 2.0 及以上版本兼容,在 Windows、Linux 和 macOS 上运行,支持完整的 .NET Framework 或 .NET Core。
完整示例请参阅此存储库中的 Downloader.Sample 项目。
示例控制台应用程序
主要特点
- 简单的界面,用于发出下载请求。
- 异步下载文件,非阻塞。
- 下载任何文件,如图像、视频、PDF、APK 等。
- 跨平台库,可下载任何大小的文件。
- 获取每个块的实时进度信息。
- 多部分下载文件并行。
- 处理所有客户端和服务器端异常,不停止。
- 配置您的 ChunkCount 来定义下载文件的部件数量。
- 将文件多部分下载为内存模式或磁盘模式。
- 分块并行保存。
【实例截图】
文件清单
└── Downloader-90291659d833abdd8d133c65670b540b84f88436
├── appveyor.yml
├── codecov.yml
├── docs
│ └── index.rst
├── git-of-theseus
│ ├── authors.json
│ ├── cohorts.json
│ ├── dirs.json
│ ├── domains.json
│ ├── exts.json
│ ├── line_plot.png
│ ├── readme.md
│ ├── stack_plot.png
│ ├── survival.json
│ └── survival_plot.png
├── LICENSE
├── README.md
├── sample.gif
└── src
├── docker-compose.yml
├── dockerfile
├── Downloader
│ ├── AbstractDownloadService.cs
│ ├── AssemblyInfo.cs
│ ├── Bandwidth.cs
│ ├── Chunk.cs
│ ├── ChunkDownloader.cs
│ ├── ChunkHub.cs
│ ├── ConcurrentPacketBuffer.cs
│ ├── ConcurrentStream.cs
│ ├── DownloadBuilder.cs
│ ├── DownloadConfiguration.cs
│ ├── Download.cs
│ ├── Downloader.csproj
│ ├── downloader.png
│ ├── Downloader.snk
│ ├── DownloadPackage.cs
│ ├── DownloadProgressChangedEventArgs.cs
│ ├── DownloadService.cs
│ ├── DownloadStartedEventArgs.cs
│ ├── DownloadStatus.cs
│ ├── Extensions
│ │ ├── Helpers
│ │ │ ├── ExceptionHelper.cs
│ │ │ └── FileHelper.cs
│ │ └── Logging
│ │ └── ILogger.cs
│ ├── IDownload.cs
│ ├── IDownloadService.cs
│ ├── ISizeableObject.cs
│ ├── Packet.cs
│ ├── PauseToken.cs
│ ├── PauseTokenSource.cs
│ ├── RequestConfiguration.cs
│ ├── Request.cs
│ ├── TaskStateManagement.cs
│ └── ThrottledStream.cs
├── Downloader.DummyHttpServer
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Controllers
│ │ └── DummyFileController.cs
│ ├── Downloader.DummyHttpServer.csproj
│ ├── DummyApiException.cs
│ ├── DummyApiExceptionFilterAttribute.cs
│ ├── DummyData.cs
│ ├── DummyFileHelper.cs
│ ├── DummyLazyStream.cs
│ ├── HttpServer.cs
│ ├── MockMemoryStream.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── sgKey.snk
│ └── Startup.cs
├── Downloader.lutconfig
├── Downloader.sln
├── Downloader.sln.DotSettings
├── Downloader.Test
│ ├── Downloader.Test.csproj
│ ├── FodyWeavers.xml
│ ├── FodyWeavers.xsd
│ ├── Helper
│ │ ├── AssertHelper.cs
│ │ ├── DownloadServiceEventsState.cs
│ │ ├── ExceptionThrower.cs
│ │ └── FileLogger.cs
│ ├── HelperTests
│ │ ├── AssertHelperTest.cs
│ │ ├── DummyDataTest.cs
│ │ ├── DummyFileControllerTest.cs
│ │ ├── DummyLazyStreamTest.cs
│ │ └── ExceptionHelperTest.cs
│ ├── IntegrationTests
│ │ ├── DownloadIntegrationTest.cs
│ │ ├── DownloadServiceTest.cs
│ │ ├── ParallelDownloadIntegrationTest.cs
│ │ ├── SerialDownloadIntegrationTest.cs
│ │ └── ThrottledStreamTest.cs
│ ├── Properties
│ │ └── Resources.Designer.cs
│ ├── public.pk
│ ├── Sign.snk
│ └── UnitTests
│ ├── BandwidthTest.cs
│ ├── ChunkDownloaderOnFileTest.cs
│ ├── ChunkDownloaderOnMemoryTest.cs
│ ├── ChunkDownloaderTest.cs
│ ├── ChunkHubTest.cs
│ ├── ChunkTest.cs
│ ├── DownloadBuilderTest.cs
│ ├── DownloadConfigurationTest.cs
│ ├── DownloadPackageTest.cs
│ ├── DownloadPackageTestOnFile.cs
│ ├── DownloadPackageTestOnMemory.cs
│ ├── FileHelperTest.cs
│ ├── PacketTest.cs
│ ├── PauseTokenTest.cs
│ ├── RequestTest.cs
│ ├── StorageTest.cs
│ ├── StorageTestOnFile.cs
│ ├── StorageTestOnMemory.cs
│ └── TaskStateManagementTest.cs
├── Samples
│ ├── Downloader.Sample
│ │ ├── Downloader.Sample.csproj
│ │ ├── DownloadItem.cs
│ │ ├── download.json
│ │ ├── Helper.cs
│ │ ├── Program.Config.cs
│ │ └── Program.cs
│ └── Downloader.Sample.Framework
│ ├── App.config
│ ├── Downloader.Sample.Framework.csproj
│ ├── DownloadList.json
│ ├── packages.config
│ └── Properties
│ └── AssemblyInfo.cs
└── testEnvironments.json
21 directories, 118 files
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论