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)
  • Pure Dart - only http dependency

Getting started

Include latest version from pub.dev to pubspec.yaml

Usage

// 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

Additional information

For resumable downloads download_task package is used

Libraries

isolated_download_manager
Isolated files download manager with progress, cancellation, pause and resume