write method
Future<CachedAssetEntry?>
write({
- required String sourceUri,
- required List<
int> bytes, - required DateTime cachedAt,
- String? contentType,
- String? suggestedFileExtension,
override
Implementation
@override
Future<CachedAssetEntry?> write({
required String sourceUri,
required List<int> bytes,
required DateTime cachedAt,
String? contentType,
String? suggestedFileExtension,
}) async {
await _directory.create(recursive: true);
final extension = _resolveFileExtension(
sourceUri: sourceUri,
contentType: contentType,
suggestedFileExtension: suggestedFileExtension,
);
final assetFile = _assetFileFor(sourceUri, extension: extension);
await assetFile.writeAsBytes(bytes, flush: true);
final entry = CachedAssetEntry(
sourceUri: sourceUri,
filePath: assetFile.path,
cachedAt: cachedAt,
contentType: contentType,
);
await _metadataFileFor(
sourceUri,
).writeAsString(jsonEncode(entry.toJson()), flush: true);
_entries[sourceUri] = entry;
_loadedKeys.add(sourceUri);
return entry;
}