Lists files and folders within a bucket with cursor-based pagination and hierarchical (delimiter) listing.
PaginatedListResult.folders only contain a name (and optionally a key). Full metadata is only available on the file entries in PaginatedListResult.objects.PaginatedListResult.nextCursor value from the previous request as PaginatedSearchOptions.cursor. Use PaginatedListResult.hasNext to check whether more results are available.buckets permissions: noneobjects permissions: selectOptions for the paginated search operation.
final PaginatedListResult result = await supabase
.storage
.from('avatars')
.listPaginated(
options: const PaginatedSearchOptions(
prefix: 'folder/',
limit: 100,
withDelimiter: true,
sortBy: FileSort(
column: FileSortColumn.createdAt,
order: FileSortOrder.descending,
),
),
);
for (final folder in result.folders) {
// Handle each folder
}
for (final object in result.objects) {
// Handle each file
}
var result = await supabase
.storage
.from('avatars')
.listPaginated();
while (result.hasNext) {
result = await supabase
.storage
.from('avatars')
.listPaginated(
options: PaginatedSearchOptions(cursor: result.nextCursor),
);
}