Flaminco.ProDownloader
0.0.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Flaminco.ProDownloader --version 0.0.1
NuGet\Install-Package Flaminco.ProDownloader -Version 0.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Flaminco.ProDownloader" Version="0.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Flaminco.ProDownloader --version 0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Flaminco.ProDownloader, 0.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Flaminco.ProDownloader as a Cake Addin #addin nuget:?package=Flaminco.ProDownloader&version=0.0.1 // Install Flaminco.ProDownloader as a Cake Tool #tool nuget:?package=Flaminco.ProDownloader&version=0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Pro File Downloader
- It Provides High Performance in downloading by using the new API System.IO.Pipelines
- It supports Resuming
- It supports File Segmentation
- Gives you higher control over the segments downloading
- Cross platform Support
- Downloading Now Shows:
- Current %
- Current Speed
- How Much has been downloaded out of what is left
** Getting Started **
Injecting into DI
builder.Services.AddProDownloader();
File Downloading, No Resuming, No File Segmentation
static async Task Main(string[] args)
{
Downloader downloader = new Downloader("Url", "DirectoryPath");
await downloader.LoadRemoteFilePropertiesAsync();
downloader.DownloadFile((e) =>
{
Console.WriteLine($"{e.CurrentPercentage} - {e.DownloadSpeed} - {e.DownloadedProgress}");
});
}
File Downloading, Yes Resuming , No File Segmentation
static async Task Main(string[] args)
{
Downloader downloader = new Downloader("Url", "DirectoryPath");
await downloader.LoadRemoteFilePropertiesAsync();
await downloader.UpdateRemoteFilePropertiesForResumingAsync();
downloader.DownloadFile((e) =>
{
Console.WriteLine($"{e.CurrentPercentage} - {e.DownloadSpeed} - {e.DownloadedProgress}");
});
}
File Downloading, No Resuming , Yes File Segmentation
using ProFileDownloader.FileNetwork;
static async Task Main(string[] args)
{
FileSegmentaionManager fileDownloader = new FileSegmentaionManager("Url", "DirectoryPath");
await fileDownloader.LoadRemoteFilePropertiesAsync(); Load the file Property to be ready for segmentation process.
await fileDownloader.GenerateSegmentsAsync(); // Generate segments
// Note: fileDownloader.BasicSegmentsInfo : Is a property which has the JSON data of the generated Segments, Store it somewhere.
Parallel.ForEach(fileDownloader.SegmentDownloaders, // to take the advantages of Segmentaions
(e) =>
{
e.DownloadSegment((x) =>
{
Console.WriteLine($"{x.CurrentPercentage} - {x.DownloadSpeed} - {x.DownloadedProgress}");
});
});
await fileDownloader.ReconstructSegmentsAsync(); // Rebuild the segments to one single file.
}
File Downloading, Yes Resuming , Yes File Segmentation
using ProFileDownloader.FileNetwork;
static async Task Main(string[] args)
{
FileSegmentaionManager fileDownloader = new FileSegmentaionManager("Url", "DirectoryPath");
await fileDownloader.LoadRemoteFilePropertiesAsync(); Load the file Property to be ready for segmentation process.
await fileDownloader.UploadGeneratedSegmentsForResuimgAsync("Json Content of the segments (BasicSegmentsInfo) "));
Parallel.ForEach(fileDownloader.SegmentDownloaders, // to take the advantages of Segmentaions
(e) =>
{
e.DownloadSegment((x) =>
{
Console.WriteLine($"{x.CurrentPercentage} - {x.DownloadSpeed} - {x.DownloadedProgress}");
});
});
await fileDownloader.ReconstructSegmentsAsync(); // Rebuild the segments to one single file.
}
File Uploading
using ProFileDownloader.FileNetwork;
static async Task Main(string[] args)
{
FileTransfer fileTransfer = new FileTransfer();
await fileTransfer.ConnectSenderAsync();
Console.WriteLine("Enter the receiver user id:");
string UserID = Console.ReadLine();
await fileTransfer.SendStreamingAsync(@"File Path", UserID);
}
File Downloading
using ProFileDownloader.FileNetwork;
static async Task Main(string[] args)
{
FileTransfer fileTransfer = new FileTransfer();
string UserID = await fileTransfer.ConnectReceiverAsync();
Console.WriteLine($"Your Receving ID Is: {UserID}");
await fileTransfer.ReceiveStreamingAsync(@"File Path, where you want to download it.");
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- System.IO.Pipelines (>= 6.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.