getFile method
Lädt eine Datei anhand ihrer Objekt-ID herunter
Ruft den Dateiinhalt und die Metadaten einer gespeicherten Datei ab. Die Methode prüft automatisch die Session und lädt dann die vollständige Datei.
oid - Die eindeutige Objekt-ID der Datei
Returns: RestApiFileResponse mit Dateiinhalt, MIME-Type und Metadaten
Throws: Exception bei Netzwerkfehlern oder ungültiger OID
Beispiel:
try {
RestApiFileResponse response = await manager.getFile("file-oid-12345");
if (response.isOk) {
Uint8List fileData = response.data;
String fileName = response.fileName;
String mimeType = response.mimeType;
// Datei speichern oder verarbeiten
}
} catch (e) {
print("Datei-Download fehlgeschlagen: $e");
}
Implementation
Future<RestApiFileResponse> getFile(String oid) async {
String function = "v1/file";
String uriPath =
"${_config.alias.isEmpty ? "" : "/${_config.alias}"}/$function/$oid";
RestApiHttpMetric metric = RestApiHttpMetric(function, HttpMethod.get);
try {
Uri requestUri = _getUri(uriPath);
metric.start();
http.Response httpResponse = await http
.get(requestUri, headers: _getHeader())
.timeout(const Duration(seconds: 60));
final response = RestApiFileResponse(httpResponse);
metric.responseCode = httpResponse.statusCode;
metric.responsePayloadSize = httpResponse.contentLength;
metric.responseContentType = httpResponse.headers['content-type'];
metric.stop();
return (response);
} catch (_) {
rethrow;
} finally {
callbacks.triggerHttpMetricRecordedEvent(metric);
}
}