Übersicht
Die Storage API dient zur Verwaltung des Objektspeichers in Fess. Sie können Dateien und Verzeichnisse im Speicher auflisten sowie Dateien herunterladen, löschen und hochladen.
Basis-URL
Authentifizierung
Alle Endpunkte der Admin API einschließlich der Storage API erfordern eine Authentifizierung mit einem Access Token. Geben Sie den Access Token im Authorization-Header des Requests an.
Einzelheiten zur Beschaffung des Access Tokens und zu den erforderlichen Berechtigungen (standardmäßig die Rolle admin-api) finden Sie unter Admin API Übersicht.
Endpunktliste
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | /list/{id} | Dateien und Verzeichnisse auflisten |
| GET | /download/{id} | Datei herunterladen |
| DELETE | /delete/{id} | Datei löschen |
| PUT | /upload | Datei hochladen |
Dateien und Verzeichnisse auflisten
Gibt die Liste der Dateien und Verzeichnisse unterhalb des angegebenen Verzeichnisses zurück. Für {id} wird die beim Auflisten erhaltene id eines Verzeichnisses angegeben. Wird {id} weggelassen, wird die Liste des Wurzelverzeichnisses abgerufen.
Request
Response
In items wird ein Array von Objekten gespeichert, die die Informationen der Dateien und Verzeichnisse darstellen (Verzeichnisse zuerst, Dateien danach). Jedes Objekt hat die folgenden Felder.
| Feld | Beschreibung |
|---|---|
id | Codierter Bezeichner. Eine URL-sichere Base64-Kodierung des Objektpfads, die beim Herunterladen und Löschen als {id} verwendet wird. |
path | Pfad des übergeordneten Verzeichnisses |
name | Datei- oder Verzeichnisname |
hashCode | Intern verwendeter Hash-Wert (kein stabiler Wert, der den Inhalt des Objekts repräsentiert) |
size | Größe (Byte) |
directory | Ob es ein Verzeichnis ist (boolean) |
lastModified | Zeitpunkt der letzten Änderung (ISO-8601-Format; nur bei Dateien enthalten) |
Datei herunterladen
Lädt eine Datei aus dem Speicher herunter. Für {id} wird die beim Auflisten erhaltene id angegeben. Die Antwort wird als Stream vom Typ application/octet-stream zurückgegeben.
Request
Response
Binärer Stream der Datei (Content-Type: application/octet-stream).
Bemerkung
Die Antwort dieser API enthält keinen Content-Disposition-Header. Der zu speichernde Dateiname muss clientseitig angegeben werden (bei cURL über die Option -o).
Datei löschen
Löscht eine Datei aus dem Speicher. Für {id} wird die beim Auflisten erhaltene id angegeben.
Request
Response
Datei hochladen
Lädt eine Datei in den Speicher hoch. Die Übertragung erfolgt im Format multipart/form-data. Das Zielverzeichnis wird nicht im URL-Pfad, sondern über das Formularfeld path angegeben.
Request
Feldbeschreibungen
| Feld | Erforderlich | Beschreibung |
|---|---|---|
path | Nein | Verzeichnispfad des Upload-Ziels (ohne führende und abschließende Schrägstriche). Wird kein Pfad angegeben, wird die Datei im Wurzelverzeichnis (direkt im Bucket) gespeichert. |
file | Ja | Hochzuladende Datei |
Response
Fehler
Schlägt die Verarbeitung an einem Endpunkt fehl, wird eine Antwort mit einem status-Wert ungleich 0 zurückgegeben (bei Validierungsfehlern 1). Das Feld message im Antwortkörper enthält die Fehlerbeschreibung. Einzelheiten zu Statuswerten und HTTP-Statuscodes finden Sie unter Admin API Übersicht.
Die häufigsten Fehlerfälle sind wie folgt.
| Endpunkt | Häufige Fehlerursachen |
|---|---|
| Dateien und Verzeichnisse auflisten | Wenn die Anzahl der abgerufenen Einträge das Limit überschreitet |
| Datei herunterladen | Wenn id ungültig ist oder der Download fehlschlägt |
| Datei löschen | Wenn id ungültig ist oder das Löschen fehlschlägt |
| Datei hochladen | Wenn file nicht angegeben ist oder der Upload fehlschlägt |
Verwendungsbeispiele
Wurzelverzeichnis auflisten
Datei herunterladen
Datei löschen
Datei hochladen
Referenzinformationen
Admin API Übersicht - Admin API Übersicht