NanoByte.Common  2.10.5
NanoByte.Common.Net.DownloadFile Class Reference

Downloads a file from a specific internet address to a stream. More...

Inheritance diagram for NanoByte.Common.Net.DownloadFile:
NanoByte.Common.Tasks.TaskBase NanoByte.Common.Tasks.ITask

Public Member Functions

 DownloadFile (Uri source, Action< Stream > callback, long bytesTotal=-1)
 Creates a new download task. More...
 
 DownloadFile (Uri source, [Localizable(false)] string target, long bytesTotal=-1)
 Creates a new download task. More...
 
- Public Member Functions inherited from NanoByte.Common.Tasks.TaskBase
void Run (CancellationToken cancellationToken=default, ICredentialProvider? credentialProvider=null, IProgress< TaskSnapshot >? progress=null)
 Runs the task and blocks until it is complete.
 

Protected Member Functions

override void Execute ()
 The actual code to be executed.
 

Properties

override string Name [get]
 
override bool UnitsByte [get]
 
long BytesMaximum = long.MaxValue [get, set]
 The maximum number of bytes to download. More...
 
Uri Source [get]
 The URL the file is to be downloaded from. More...
 
bool NoCache [get, set]
 Set to true to add a No-Cache header to the request for any intermediate proxy servers. More...
 
WebHeaderCollection? ResponseHeaders [get]
 The HTTP header data returned by the server for the download request. An empty collection in case of an FTP download. More...
 
bool ContentStarted [get]
 Indicates whether the server has started sending content. More...
 
- Properties inherited from NanoByte.Common.Tasks.TaskBase
abstract string Name [get]
 
object? Tag [get, set]
 
virtual bool CanCancel [get]
 
TaskState State [get, protected set]
 The current State of the task. More...
 
abstract bool UnitsByte [get]
 true if UnitsProcessed and UnitsTotal are measured in bytes; false if they are measured in generic units. More...
 
long UnitsProcessed [get, set]
 The number of units that have been processed so far. More...
 
long UnitsTotal [get, set]
 The total number of units that are to be processed; -1 for unknown. More...
 
- Properties inherited from NanoByte.Common.Tasks.ITask
string Name [get]
 A name describing the task in human-readable form. More...
 
object? Tag [get, set]
 An object used to associate the task with a specific process; can be null. More...
 
bool CanCancel [get]
 Indicates whether this task can be canceled once it has been started. More...
 

Additional Inherited Members

- Protected Attributes inherited from NanoByte.Common.Tasks.TaskBase
CancellationToken CancellationToken
 Signaled when the user wishes to cancel the task execution. More...
 
ICredentialProviderCredentialProvider
 Used to retrieve credentials for specific Uris on demand; can be null. More...
 

Detailed Description

Downloads a file from a specific internet address to a stream.

Constructor & Destructor Documentation

◆ DownloadFile() [1/2]

NanoByte.Common.Net.DownloadFile.DownloadFile ( Uri  source,
Action< Stream >  callback,
long  bytesTotal = -1 
)
inline

Creates a new download task.

Parameters
sourceThe URL the file is to be downloaded from.
callbackCalled with a stream providing the download content.
bytesTotalThe number of bytes the file to be downloaded is long. The file will be rejected if it does not have this length. -1 if the size is unknown.

◆ DownloadFile() [2/2]

NanoByte.Common.Net.DownloadFile.DownloadFile ( Uri  source,
[Localizable(false)] string  target,
long  bytesTotal = -1 
)
inline

Creates a new download task.

Parameters
sourceThe URL the file is to be downloaded from.
targetThe local path to save the file to. A preexisting file will be overwritten.
bytesTotalThe number of bytes the file to be downloaded is long. The file will be rejected if it does not have this length. -1 if the size is unknown.

Property Documentation

◆ BytesMaximum

long NanoByte.Common.Net.DownloadFile.BytesMaximum = long.MaxValue
getset

The maximum number of bytes to download.

◆ ContentStarted

bool NanoByte.Common.Net.DownloadFile.ContentStarted
get

Indicates whether the server has started sending content.

◆ NoCache

bool NanoByte.Common.Net.DownloadFile.NoCache
getset

Set to true to add a No-Cache header to the request for any intermediate proxy servers.

◆ ResponseHeaders

WebHeaderCollection? NanoByte.Common.Net.DownloadFile.ResponseHeaders
get

The HTTP header data returned by the server for the download request. An empty collection in case of an FTP download.

This value is always null until TaskState.Data has been reached.

◆ Source

Uri NanoByte.Common.Net.DownloadFile.Source
get

The URL the file is to be downloaded from.

This value may change once TaskState.Data has been reached, based on HTTP redirections.


The documentation for this class was generated from the following file: