> ## 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.

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

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.                                                        |

<Note>
  Sie können Registrierungsparameter nicht in einer PUT-Anfrage übergeben. Weitere Informationen finden Sie unter [Struktur eines Batch angeben](/de/flexi-capture/package-structure).
</Note>

Geben Sie den Wert des Header-Felds `Content-type` explizit an und fügen Sie die hochzuladende Datei in den Body der PUT-Anfrage ein.

Der Server unterstützt auch Hash-Codierung. Kodieren Sie den MD5-Hashwert der Datei mit UTF-16LE in Base64 und übergeben Sie ihn dann im Standard-Header `Content-MD5`.

Der Server berechnet seinen eigenen Hashwert für die Datei und vergleicht ihn mit dem Wert im Header. Wenn die beiden Werte nicht übereinstimmen, löscht der Server die Datei.

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.

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

Verwenden Sie nach Möglichkeit eine PUT-Anfrage. Wenn PUT nicht möglich ist, können Sie die Datei stattdessen per POST-Anfrage hochladen. Übergeben Sie die Parameter `projectName` und `batchType` wie bei einer PUT-Anfrage in der URL oder als Textfelder im Request-Body.

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

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>
```

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

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>
```
