t×tecexpressby TeKOcloud
ENv0.7.1
API & Datentypen / FLUTTER

TxFileProvider.

Asynchroner Vertrag für Verzeichnislisten und Dateioperationen.

list ist erforderlich. Vue bietet optionale Methoden; Dart-Implementierungen deklarieren Fähigkeiten in capabilities und überschreiben die entsprechenden Methoden. Nicht implementierte Dart-Operationen werfen UnsupportedError. list/upload berücksichtigen kooperativen Abbruch. createDirectory/upload liefern einen Eintrag; rename/copy/move/remove keinen Wert; download liefert Blob (Vue) oder Uint8List (Dart).

Mitglied / Typ / RückgabeBedeutung
Set<String> get capabilitiesUnterstützte Dateiaufgaben; steuert sichtbare Aktionen.
Future<List<TxFileEntry>> list(String? parentId, {TxCancellation? cancellation})Liefert Einträge des angegebenen Elternordners; null liest die Wurzel.
Future<TxFileEntry> createDirectory(String? parentId, String name)Legt einen Ordner mit gültigem, im Elternordner eindeutigem Namen an.
Future<void> rename(String id, String name)Benennt eine Datei oder einen Ordner um; ID und Elternordner bleiben erhalten.
Future<void> copy(String id, String? target)Kopiert einen Eintrag rekursiv in den Zielordner; neue IDs werden vergeben.
Future<void> move(String id, String? target)Verschiebt einen Eintrag in den Zielordner; Zyklen werden abgelehnt.
Future<void> remove(String id)Löscht den Datensatz beziehungsweise rekursiv den Datei-/Ordnerbestand.
Future<TxFileEntry> upload(String? parentId, TxFile file, {TxCancellation? cancellation})Lädt eine Datei in den angegebenen Ordner; liefert den neuen Dateieintrag.
Future<Uint8List> download(String id)Liefert Dateiinhalt; Ordnerdownloads schlagen fehl.
dart
import 'package:tecexpress/tecexpress.dart';

Future<void> example() async {
  TxFileProvider provider = TxMemoryFileProvider();
  print(provider.capabilities);
  print(await provider.list(null));
}