v0.5.5flutter_download_manager
Flutter 下载管理器是一个跨平台文件下载器,支持可恢复、并行和批量下载。还可以接收下载状态和进度更新的通知
Flutter 下载管理器是一个跨平台文件下载器,支持可恢复、并行和批量下载。还可以接收下载状态和进度更新的通知
以下为英文项目原文快照,最新内容请访问 GitHub。
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.
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 }
依赖清单 5 项
{"sdk":"flutter"}^5.0.2—{"sdk":"flutter"}^2.0.1先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗