Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/starkdmi/download_manager

Isolated download manager with progress, cancellation, pause and resume
https://github.com/starkdmi/download_manager

dart http isolates

Last synced: about 8 hours ago
JSON representation

Isolated download manager with progress, cancellation, pause and resume

Awesome Lists containing this project

README

        

File download manager based on reusable isolates with progress, cancellation, pause and resume

## Features

- **Fully isolated** - create any amount of reusable isolates, all handled internally
- **Powerfull** - pause, resume, cancel, download queue and many more
- **Listen to updates** - realtime progress and failure handling
- **UI** - use ready-to-use Flutter widgets (optionally via [isolated_download_manager_flutter](https://pub.dev/packages/isolated_download_manager_flutter))
- **Pure Dart** - only `http` dependency

## Getting started

Include latest version from [pub.dev](https://pub.dev/packages/isolated_download_manager) to `pubspec.yaml`

## Usage

```dart
// initialize
await DownloadManager.instance.init(isolates: 3);

// download
final request = DownloadManager.instance.download(url);

// listen to state changes
request.events.listen((event) { ... }

// control the task
request.pause();
request.resume();
request.cancel();
```
Example full source code available at [example's directory](example/isolated_download_manager_example.dart)

## Additional information

For resumable downloads [download_task](https://pub.dev/packages/download_task) package is used