Class FileDownloadTask
Task for helping managing large downloads that can be paused and resumed across application sessions.
Namespace: Esri.ArcGISRuntime.Toolkit
Assembly: Esri.ArcGISRuntime.Toolkit.Maui.dll
Syntax
public sealed class FileDownloadTask : IDisposable, IJsonOnDeserialized
Remarks
Once a download has started, you should call ToJson() to serialize the task to a string. This allows you to resume the download later if the app closes for whatever reason before the download completes.
Properties
| Name | Description |
|---|---|
| BufferSize | Gets or sets the buffer size used for downloading the file. The default is 65535 bytes. |
| BytesDownloaded | The number of bytes downloaded so far. |
| DownloadSpeed | Gets the current download speed as bytes per second based on a moving average calculation |
| Exception | Gets the the exception of the download if it failed. |
| IsResumable | Gets a value indicating whether the download can be resumed from the last position, or will start over on resume. |
| MaxConcurrentDownloads | Gets or sets the maximum number of downloads that can be in progress at the same time before getting queued. The default is |
| Priority | Gets or sets the download priority if multiple items are queued. The higher the number, the higher the priority of the download. |
| Status | Gets the current download status of the download. |
| TotalLength | The total length of the file being downloaded. This is only available if the server provides the content length. |
Methods
| Name | Description |
|---|---|
| BeginDownloadAsync(string, Uri, HttpMessageHandler?, CancellationToken) | Initiates a download to the specified file from the specified URL |
| CancelAsync() | Aborts the running download and deletes the partial download. |
| ClearQueue() | Clears any downloads still in the download queue. This will pause all downloads that are queued, and remove them from the queue. |
| Dispose() | Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
| ~FileDownloadTask() | |
| FromJson(string, HttpMessageHandler?) | Restores a previously serialized FileDownloadTask from a JSON string. |
| PauseAsync() | Pauses the active download. |
| RestartAsync(CancellationToken) | Restarts the download from the beginning. |
| ResumeAsync(CancellationToken) | Resumes the download from the last position. |
| ToJson() | Serializes the current FileDownloadTask to a JSON string for later resuming downloads. |
Events
| Name | Description |
|---|---|
| Completed | Event raised when the download is completed successfully. |
| Error | Event raised when an error occurs during the download. |
| Progress | Event raised as the download progresses. |
| StatusChanged | Event triggered when the Status property changes. |