getOrUploadFile method
Get or upload a file, using cache when possible
Implementation
Future<GoogleFile?> getOrUploadFile({
required List<int> data,
required String mimeType,
required String displayName,
}) async {
final cacheKey = '${displayName}_${data.length}_$mimeType';
// Check cache first
final cachedFile = _fileCache[cacheKey];
if (cachedFile != null && cachedFile.isActive) {
return cachedFile;
}
// Upload new file
try {
return await uploadFile(
data: data,
mimeType: mimeType,
displayName: displayName,
);
} catch (e) {
client.logger.warning('File upload failed: $e');
return null;
}
}