copyUrlToLocalStorage method
Downloads the file at url to targetName on the local file system.
Implementation
@override
Future<void> copyUrlToLocalStorage(String url, String targetName) async {
final resolved = await _resolve(targetName);
final request = http.Request('GET', Uri.parse(url));
final response = await httpClient.send(request);
if (response.statusCode < 200 || response.statusCode >= 300) {
await response.stream.drain<void>();
throw HttpException(
'HTTP ${response.statusCode} downloading $url',
uri: Uri.parse(url),
);
}
final sink = File(resolved).openWrite();
try {
await response.stream.pipe(sink);
} finally {
await sink.close();
}
}