> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dateien auf den Server hochladen

> Laden Sie Bilder über die Mobile API per PUT- oder POST-Anfrage auf den ABBYY FlexiCapture-Server hoch, einschließlich MD5-Hash-Verifizierung und Multipart-Unterstützung.

Um eine Datei auf den Server hochzuladen, verwenden Sie eine PUT- oder POST-Anfrage.

<div id="create-a-put-request">
  ## Eine PUT-Anfrage erstellen
</div>

Um eine Datei per PUT-Anfrage hochzuladen, übergeben Sie die folgende URI:

```http theme={null}
https://localhost/flexicapture12/server/MobileApp?filename=[file name]&projectName=[project name]&batchType=[batch name]
```

Die URI akzeptiert die folgenden Parameter:

| Parameter     | Beschreibung                                                                                            |
| ------------- | ------------------------------------------------------------------------------------------------------- |
| `projectName` | Der Name des Projekts. Erforderlich.                                                                    |
| `batchType`   | Der Name des Batch. Erforderlich. Wenn kein Wert angegeben wird, wird der Standard-Batch-Typ verwendet. |
| `filename`    | Der Name der hochzuladenden Datei. Erforderlich.                                                        |

Wir empfehlen, den Wert des Header-Felds `Content-type` explizit anzugeben. Geben Sie die hochzuladende Datei im Body der PUT-Anfrage an.

Der Server unterstützt Hash-Codierung. Übergeben Sie den Wert der MD5-Hashfunktion an den FlexiCapture 12-Server. Kodieren Sie den Wert mit UTF-16LE in Base64 und übergeben Sie ihn im Standard-Header `Content-MD5`. Der Server berechnet den Wert der Hashfunktion für die Datei und vergleicht ihn mit dem im Header übergebenen Wert. Wenn die Werte nicht übereinstimmen, wird die Datei auf dem Server gelöscht.

Es sind zwei Serverantworten möglich:

* **HTTP 201 (Created)** – Die Datei wurde erfolgreich auf den Server hochgeladen.
* **HTTP 400 (Bad request)** – Ein erforderlicher Parameter fehlt, oder der Wert der Hashfunktion stimmt nicht mit dem im Header angegebenen Wert überein. Es wurde keine Datei hochgeladen.

<Note>
  Derzeit können Sie die Registrierungsparameter nicht an den Server übergeben.
</Note>

<div id="create-a-post-request">
  ## Erstellen einer POST-Anfrage
</div>

Wir empfehlen die Verwendung von PUT-Anfragen. Falls PUT-Anfragen aus irgendeinem Grund nicht verwendet werden können, können Sie eine Datei auch per POST-Anfrage auf den Server hochladen. Die Parameter `projectName` und `batchType` können in der URL übergeben werden, genau wie bei einer PUT-Anfrage, oder als Textfelder im Request-Body.

<div id="pass-multiple-images-in-one-request">
  ### Mehrere Bilder in einer Anfrage übergeben
</div>

Sie können mehrere Bilder in einer POST-Anfrage übergeben. Setzen Sie den Wert des Feldes `Content-type` auf `multipart/form-data` und geben Sie den Wert des Trennzeichens im Parameter `boundary` an. Die Namen der in einer Anfrage enthaltenen Dateien dürfen nicht identisch sein.

Das folgende Beispiel übergibt zwei Dateien in einer einzelnen Anfrage:

```http theme={null}
Content-type: multipart/form-data; boundary=<random string>
--<boundary value>
Content-Disposition: form-data; name=<field name>; filename=<name of file 1><crlf>
Content-MD5: <value of MD5 hash for file><crlf>
<crlf>
<file data>
--<boundary value>
Content-Disposition: form-data; name=<field name>; filename=<name of file 2><crlf>
<crlf>
<file data>
```

<div id="pass-a-text-field">
  ### Übergeben eines Textfelds
</div>

Sie können in einer POST-Anfrage auch ein Textfeld übergeben:

```http theme={null}
--<boundary value>
Content-Disposition: form-data; name="<field name>"<crlf>
<crlf>
<field value><crlf>
```

Beenden Sie die Anfrage mit dieser Boundary-Zeichenfolge:

```http theme={null}
--<boundary value>--<crlf><crlf>
```
