getFileData method
Implementation
@override
Future<FileModel?> getFileData(String fileId, {String bucketId = ""}) async {
try {
await initialize();
bucketId = bucketId.isEmpty ? myConfig!.serverConfig!.storageConnInfo.bucketId : bucketId;
var target = _storage!.ref().child(fileId);
var targetMetaData = await target.getMetadata();
var targetUrl = await target.getDownloadURL();
var targetThumbnailUrl = await _storage!
.ref()
.child(
"$bucketId/content/thumbnail/${fileId.substring(fileId.lastIndexOf("/") + 1, fileId.lastIndexOf("."))}.jpg")
.getDownloadURL()
.onError((error, stackTrace) async {
return targetMetaData.contentType!.contains("image") ? targetUrl : "";
});
return FileModel(
id: targetMetaData.fullPath,
name: targetMetaData.name,
url: targetUrl,
thumbnailUrl: targetThumbnailUrl,
size: targetMetaData.size ?? 0,
contentType: targetMetaData.contentType == null
? ContentsType.none
: ContentsType.getContentTypes(targetMetaData.contentType!));
} catch (error) {
logger.info("error during Storage.getFileData >> $error");
}
return null;
}