HTTP API
Dateiuploads für Anhangsfelder und Dateisammlungen können über die HTTP API abgewickelt werden. Die Aufrufmethode variiert je nach dem von der Anlage oder Dateisammlung verwendeten Speicher-Engine.
Serverseitiger Upload
Für integrierte Open-Source-Speicher-Engines wie S3, OSS und COS ist der HTTP API-Aufruf identisch mit dem, der von der Benutzeroberfläche für Uploads verwendet wird. Die Dateien werden dabei serverseitig hochgeladen. API-Aufrufe erfordern die Übergabe eines benutzerbasierten JWT-Tokens im Authorization-Request-Header; andernfalls wird der Zugriff verweigert.
Anhangsfeld
Führen Sie eine create-Aktion für die attachments-Ressource (Anhangs-Sammlung) aus, indem Sie eine POST-Anfrage senden und den binären Inhalt über das file-Feld hochladen. Nach dem Aufruf wird die Datei in die Standard-Speicher-Engine hochgeladen.
Um Dateien in eine andere Speicher-Engine hochzuladen, können Sie den Parameter attachmentField verwenden, um die für das Sammlungsfeld konfigurierte Speicher-Engine anzugeben. Ist keine konfiguriert, wird die Datei in die Standard-Speicher-Engine hochgeladen.
Dateisammlung
Beim Hochladen in eine Dateisammlung wird automatisch ein Dateieintrag generiert. Führen Sie eine create-Aktion für die Dateisammlungs-Ressource aus, indem Sie eine POST-Anfrage senden und den binären Inhalt über das file-Feld hochladen.
Beim Hochladen in eine Dateisammlung müssen Sie keine Speicher-Engine angeben; die Datei wird in die für diese Sammlung konfigurierte Speicher-Engine hochgeladen.
Clientseitiger Upload
Für S3-kompatible Speicher-Engines, die über das kommerzielle S3-Pro Plugin bereitgestellt werden, erfordert der HTTP API-Upload mehrere Schritte.
Anhangsfeld
-
Speicher-Engine-Informationen abrufen
Führen Sie eine
getBasicInfo-Aktion für diestorages-Sammlung aus und übergeben Sie dabei den Speichernamen, um die Konfigurationsinformationen der Speicher-Engine anzufordern.Beispiel der zurückgegebenen Konfigurationsinformationen der Speicher-Engine:
-
Vorab signierte URL vom Dienstanbieter abrufen
Führen Sie eine
createPresignedUrl-Aktion für diefileStorageS3-Ressource aus, indem Sie eine POST-Anfrage mit dateibezogenen Informationen im Body senden, um die vorab signierten Upload-Informationen zu erhalten.Hinweis:
name: Dateinamesize: Dateigröße (in Bytes)type: Der MIME-Typ der Datei. Siehe: Häufige MIME-TypenstorageId: Die ID der Speicher-Engine (dasid-Feld, das in Schritt 1 zurückgegeben wurde).storageType: Der Typ der Speicher-Engine (dastype-Feld, das in Schritt 1 zurückgegeben wurde).
Beispiel-Anfragedaten:
Die Datenstruktur der erhaltenen vorab signierten Informationen ist wie folgt:
-
Datei hochladen
Verwenden Sie die zurückgegebene
putUrl, um einePUT-Anfrage zu stellen und die Datei als Body hochzuladen.Hinweis:
putUrl: Das in dem vorherigen Schritt zurückgegebeneputUrl-Feld.file_path: Der lokale Pfad der hochzuladenden Datei.
Beispiel-Anfragedaten:
-
Dateieintrag erstellen
Nach einem erfolgreichen Upload erstellen Sie den Dateieintrag, indem Sie eine
create-Aktion für dieattachments-Ressource (Anhangs-Sammlung) mit einer POST-Anfrage ausführen.Erläuterung der abhängigen Daten in
data-raw:title: DasfileInfo.title-Feld, das im vorherigen Schritt zurückgegeben wurde.filename: DasfileInfo.key-Feld, das im vorherigen Schritt zurückgegeben wurde.extname: DasfileInfo.extname-Feld, das im vorherigen Schritt zurückgegeben wurde.path: Standardmäßig leer.size: DasfileInfo.size-Feld, das im vorherigen Schritt zurückgegeben wurde.url: Standardmäßig leer.mimetype: DasfileInfo.mimetype-Feld, das im vorherigen Schritt zurückgegeben wurde.meta: DasfileInfo.meta-Feld, das im vorherigen Schritt zurückgegeben wurde.storageId: Dasid-Feld, das in Schritt 1 zurückgegeben wurde.
Beispiel-Anfragedaten:
Dateisammlung
Die ersten drei Schritte sind identisch mit dem Upload in ein Anhangsfeld. Im vierten Schritt müssen Sie jedoch den Dateieintrag erstellen, indem Sie eine create-Aktion für die Dateisammlungs-Ressource mit einer POST-Anfrage ausführen und die Dateiinformationen im Body hochladen.
Erläuterung der abhängigen Daten in
data-raw:
title: DasfileInfo.title-Feld, das im vorherigen Schritt zurückgegeben wurde.filename: DasfileInfo.key-Feld, das im vorherigen Schritt zurückgegeben wurde.extname: DasfileInfo.extname-Feld, das im vorherigen Schritt zurückgegeben wurde.path: Standardmäßig leer.size: DasfileInfo.size-Feld, das im vorherigen Schritt zurückgegeben wurde.url: Standardmäßig leer.mimetype: DasfileInfo.mimetype-Feld, das im vorherigen Schritt zurückgegeben wurde.meta: DasfileInfo.meta-Feld, das im vorherigen Schritt zurückgegeben wurde.storageId: Dasid-Feld, das in Schritt 1 zurückgegeben wurde.Beispiel-Anfragedaten:

