getMultiFileData method
Future<List<FileModel> ?>
getMultiFileData({
- String search = "",
- int limit = 99,
- int? offset,
- String? cursor,
- String cursorDirection = "after",
- String orderType = "DESC",
- String bucketId = "",
override
Implementation
@override
Future<List<FileModel>?> getMultiFileData(
{String search = "",
int limit = 99,
int? offset,
String? cursor,
String cursorDirection = "after",
String orderType = "DESC",
String bucketId = ""}) async {
List<FileModel> multiFileData = [];
try {
await initialize();
bucketId = bucketId.isEmpty ? myConfig!.serverConfig!.storageConnInfo.bucketId : bucketId;
final multiTarget = await _storage!.ref().child("$bucketId/$search").listAll();
for (var target in multiTarget.items) {
var targetMetaData = await target.getMetadata();
var targetUrl = await target.getDownloadURL();
var targetThumbnail = await _storage!
.ref()
.child(
"$bucketId/content/thumbnail/${target.fullPath.substring(target.fullPath.lastIndexOf("/") + 1, targetMetaData.fullPath.lastIndexOf("."))}.jpg")
.getDownloadURL()
.onError((error, stackTrace) {
return targetMetaData.contentType!.contains("image") ? targetUrl : "";
});
multiFileData.add(FileModel(
id: targetMetaData.fullPath,
name: targetMetaData.name,
url: targetUrl,
thumbnailUrl: targetThumbnail,
size: targetMetaData.size ?? 0,
contentType: ContentsType.getContentTypes(targetMetaData.contentType!)));
}
return multiFileData;
} catch (error) {
logger.info("error during Storage.getMultiFileData >> $error");
}
return null;
}