getFileData method
Implementation
@override
Future<FileModel?> getFileData(String fileId, {String? bucketId}) async {
try {
await initialize();
bucketId ??= myConfig!.serverConfig.storageConnInfo.bucketId;
var file = await _storage!.getFile(bucketId: bucketId, fileId: fileId);
String fileUrl = url.replaceFirst("BUCKET_ID", bucketId).replaceFirst("FILE_ID", fileId);
try {
var thumbnail = await _storage!.getFile(bucketId: bucketId, fileId: "cov-${file.$id.substring(4)}");
return FileModel(
id: file.$id,
name: file.name,
url: fileUrl,
thumbnailUrl: url.replaceFirst("BUCKET_ID", thumbnail.bucketId).replaceFirst("FILE_ID", thumbnail.$id),
size: file.sizeOriginal,
contentType: ContentsType.getContentTypes(file.mimeType)
);
} catch (error) {
// fail get file thumbnail
return FileModel(
id: file.$id,
name: file.name,
url: fileUrl,
thumbnailUrl: file.mimeType.contains("image") ? fileUrl : "",
size: file.sizeOriginal,
contentType: ContentsType.getContentTypes(file.mimeType)
);
}
} catch (error) {
logger.info("error at Storage.getFileData >>> $error");
}
return null;
}