downloadMultiple method
Download multiple files in parallel
Implementation
Future<List<DownloadResult>> downloadMultiple({
required List<String> urls,
String? saveDirectory,
Map<String, dynamic>? headers,
Function(String url, int received, int total)? onProgress,
}) async {
_logger.log('📥 Starting ${urls.length} downloads in parallel...');
final results = await Future.wait(
urls.map((url) => downloadFile(
url: url,
savePath: saveDirectory,
headers: headers,
onProgress: onProgress != null
? (received, total) => onProgress(url, received, total)
: null,
)),
);
final successCount = results.where((r) => r.success).length;
_logger.log(
'✅ Completed $successCount/${urls.length} downloads successfully',
);
return results;
}