Bereitstellen einer Datei durch temporäres Hochladen
In diesem Kapitel erfahren Sie, wie Sie eine Datei vorläufig bereitstellen, indem Sie die Datei temporär hochladen. Das temporäre Hochladen ist besonders bei großen Dateien sinnvoll. Mit der URL (contentLocationUri
) zur temporär hochgeladenen Datei können Sie anschließend das DMS-Objekt speichern.
Um eine Datei temporär hochzuladen, müssen Sie folgende Schritte durchführen:
Ermitteln der URL zu einem Repository
Ermitteln der Linkrelation zum temporären Hochladen der Datei
Aufrufen der URL zum temporären Hochladen der Datei
Weitere Aufrufe der URL zum temporären Hochladen der Datei (optional)
Ein temporäres Hochladen einer Datei ohne die Angabe einer ID zu einem Repository ist nicht möglich.
Ermitteln der URL zu einem Repository
Im Kapitel Ermitteln eines Repositorys können Sie nachlesen, wie Sie die URL zu einem Repository ermitteln.
Ermitteln der Linkrelation zum temporären Hochladen der Datei
Rufen Sie die URL zu einem Repository wie folgt auf:
Request
GET /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27 Accept: application/hal+json
Das JSON-Objekt zu einem Repository enthält die Linkrelation chunkedupload
.
Response
{ "_links": { "chunkedupload": { "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/" } }, "id": "dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27" }
Aufrufen der URL zum temporären Hochladen der Datei
Führen Sie eine HTTP POST
-Anforderung mit den Binärdaten als Body
auf die URL aus, die Sie in der Linkrelation chunkedupload
erhalten haben. Wenn der Vorgang erfolgreich war, erhalten Sie den HTTP
-Statuscode 201
und die URL (contentLocationUri
) im HTTP-Header Location
.
Request
POST /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/ Origin: https://baseuri Content-Type: application/octet-stream <binary content>
Response
HTTP/1.1 201 Created Location: /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/2018-01-01_temp_master_file_user1_44f7-95a6-58b8400ecf43
Bei der HTTP Post
-Anforderung wird der komplette Body als Binärdaten der hochzuladenden Datei behandelt. Ein Upload mittels multipart/form-data
ist derzeit nicht möglich.
Die maximale Größe des Bodys ist auf 100 MB begrenzt. Wir empfehlen eine Bodygröße von 25 MB. Wenn Sie größere Dateien hochladen möchten, können Sie die Datei in verschiedene Teilstücke (Chunks) unterteilen. Weitere Informationen finden Sie im folgenden Abschnitt.
Weitere Aufrufe der URL zum temporären Hochladen der Datei (optional)
Sie haben die Möglichkeit, das Hochladen auf mehrere HTTP
-Anforderungen aufzuteilen, um bei größeren Dateien einen Timeout zu vermeiden.
Gehen Sie dazu wie folgt vor:
Teilen Sie die hochzuladende Datei in verschiedene Teilstücke (Chunks).
Laden Sie das erste Teilstück hoch, so wie es unter "Aufrufen der URL zum temporären Hochladen der Datei" beschrieben ist.
Laden Sie das nächste Teilstück hoch, indem Sie eine
HTTP POST
-Anforderung auf die URL ausführen, die Sie im Header der Antwort zum ersten Teilstück unterLocation
erhalten haben.Wiederholen Sie den vorherigen Schritt nacheinander für alle Teilstücke in der richtigen Reihenfolge.
Request
POST /dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/blob/chunk/2018-01-01_temp_master_file_user1_44f7-95a6-58b8400ecf43 Content-Type: application/octet-stream <binary content for chunk>
Response
HTTP/1.1 200 OK
Beachten Sie beim Hochladen mehrerer Teilstücke Folgendes:
Die Teilstücke dürfen nur sequenziell hochgeladen werden.
Die Reihenfolge der
HTTP POST
-Anforderung der Teilstücke ist strikt einzuhalten.Sollte es bei einer
HTTP POST
-Anforderung zu einem Fehler kommen (z.B.HTTP-
Statuscode ist nicht200
), müssen Sie die Datei in allen Teilstücken erneut hochladen. Das erneute Hochladen einzelner Teilstücke ist nicht möglich.
Sie erhalten auf die Anforderungen folgende mögliche Antworten:
Statuscode | Beschreibung |
---|---|
| Ein Teilstück wurde erfolgreich hochgeladen. |
| Das erste Teilstück wurde erfolgreich hochgeladen. |
| Die Ressource wurde nicht gefunden. Es wurde z.B. eine unbekannte Repository-ID angegeben. |
| Es trat ein interner Fehler bei der Verarbeitung auf. |