v0.5.5flutter_download_manager
Flutter 下载管理器是一个跨平台文件下载器,支持可恢复、并行和批量下载。还可以接收下载状态和进度更新的通知
Flutter 下载管理器是一个跨平台文件下载器,支持可恢复、并行和批量下载。还可以接收下载状态和进度更新的通知
{"sdk":"flutter"}^5.0.2—{"sdk":"flutter"}^2.0.1以下为英文项目原文快照,最新内容请访问 GitHub。
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 }