FLUTTER ECOSYSTEM

starkdmi/download_manager

Isolated download manager with progress, cancellation, pause and resume

download_manager project cover
Stars
14
Forks
2
Last push (UTC)
Jun 15, 2023
Project status
Active
Dmitry Starkov GitHub avatar
GITHUB User

Dmitry Starkov ↗

On-device ML engineer · Apple silicon · audio, video, image · Swift, MLX, CoreML

LanguagesDart

Technical topics

Packages published by this repository

Dependencies used

Dependency list 4 items
  • download_task>=1.0.2 <2.0.0
  • http>=0.13.0 <2.0.0
  • lintsDevelopment>=0.1.0 <3.0.0
  • testDevelopment>=1.16.0 <2.0.0

Original README

English project snapshot. Visit GitHub for the latest content.

Expand / collapse 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)
  • 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