v0.5.5flutter_download_manager
Flutter Download Manager is a Cross-Platform file downloader with resumeable, parallel and batch Download support. Also be notified of download status and progress updates
Flutter Download Manager is a Cross-Platform file downloader with resumeable, parallel and batch Download support. Also be notified of download status and progress updates
{"sdk":"flutter"}^5.0.2—{"sdk":"flutter"}^2.0.1English project snapshot. Visit GitHub for the latest content.
pub package pub points popularity likes |
Flutter Download Manager is a Cross-Platform file downloader with Parallel and Batch Download support. Manage download tasks by url and be notified of status and their progress. Pause, Cancel, Queue and Resume Downloads.
This package was made as I felt like there are no download managers in flutter, specially with desktop support.
alt Example
There are a few caveats about this package:
In your pubspec.yaml file add:
dependencies:
flutter_download_manager: any
Then, in your code import:
import 'package:flutter_download_manager/flutter_download_manager.dart';
Please refer to /example folder for a working example.
var dl = DownloadManager();
var url = "adasdad.com/asda.sdas";
await dl.addDownload(url, "./test.sdas");
DownloadTask? task = dl.getDownload(url4);
task?.status.addListener(() {
print(task.status.value);
});
task?.progress.addListener(() {
print(task.progress.value);
});
await dl.whenDownloadComplete(url4);
DownloadTask? task = dl.getDownload(url4);
task?.status.addListener(() {
print(task.status.value);
});
DownloadTask? task = dl.getDownload(url4);
task?.progress.addListener(() {
print(task.progress.value);
});
DownloadTask? task = dl.getDownload(url4);
await task.whenDownloadComplete();
var dl = DownloadManager();
dl.cancelDownload(url5);
var dl = DownloadManager();
dl.pauseDownload(url5);
var dl = DownloadManager();
dl.resumeDownload(url5);
var dl = DownloadManager();
var urls = <String>[];
urls.add(url2);
urls.add(url3);
urls.add(url);
await dl.addDownload(url2, "./test2.ipa");
await dl.addDownload(url3, "./test3.ipa");
await dl.addDownload(url, "./test.ipa");
var downloadProgress = dl.getDownloadProgress(urls);
downloadProgress.addListener(() {
print(downloadProgress.value);
});
await dl.whenDownloadsComplete(urls);
var dl = DownloadManager();
var urls = <String>[];
urls.add(url2);
urls.add(url3);
urls.add(url);
dl.addBatchDownloads(urls, "./");
var dl = DownloadManager();
var urls = <String>[];
urls.add(url6);
urls.add(url5);
urls.add(url);
dl.cancelDownloads(urls);
var dl = DownloadManager();
var urls = <String>[];
urls.add(url2);
urls.add(url3);
var downloadProgress = dl.getDownloadProgress(urls);
downloadProgress.addListener(() {
print(downloadProgress.value);
});
var dl = DownloadManager();
var urls = <String>[];
urls.add(url2);
urls.add(url3);
urls.add(url);
await dl.whenDownloadsComplete(urls);
[] Add in Shared Preference to survive app shutdown
enum DownloadStatus { queued, downloading, completed, failed, paused, canceled }