putFile method
Future<File>
putFile(
- String url,
- List<
int> fileBytes, { - String? key,
- String? eTag,
- Duration maxAge = _kDefaultMaxAge,
- String fileExtension = 'file',
override
Put a file in the cache.
Implementation
@override
Future<File> putFile(
String url,
List<int> fileBytes, {
String? key,
String? eTag,
Duration maxAge = _kDefaultMaxAge,
String fileExtension = 'file',
}) async {
await _ensureInitialized();
key ??= url;
final relativePath = _generateRelativePath(key, fileExtension);
final filePath = _cacheFilePath(relativePath);
final file = io.File(filePath);
await file.writeAsBytes(fileBytes);
final validTill = DateTime.now().add(maxAge);
_cacheBox!.put(
key,
CacheEntryMetadata(
url: url,
relativePath: relativePath,
validTill: validTill,
eTag: eTag,
length: fileBytes.length,
).toMap());
return const LocalFileSystem().file(filePath);
}