getFileStream method
Get the file from the cache and/or online, depending on availability and age.
Downloaded form url
, headers
can be used for example for authentication.
The files are returned as stream. First the cached file if available, when the
cached file is too old the newly downloaded file is returned afterwards.
The FileResponse is either a FileInfo object for fully downloaded files
or a DownloadProgress object for when a file is being downloaded.
The DownloadProgress objects are only dispatched when withProgress
is
set on true and the file is not available in the cache. When the file is
returned from the cache there will be no progress given, although the file
might be outdated and a new file is being downloaded in the background.
Implementation
@override
Stream<FileResponse> getFileStream(String url,
{String? key, Map<String, String>? headers, bool withProgress = false}) {
key ??= url;
final streamController = StreamController<FileResponse>();
_pushFileToStream(streamController, url, key, headers, withProgress);
return streamController.stream;
}