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

# Cargar archivos al servidor

> Cargue imágenes al servidor de ABBYY FlexiCapture a través de Mobile API mediante solicitudes PUT o POST, con verificación de hash MD5 y compatibilidad con multipart.

Para cargar un archivo al servidor, use una solicitud PUT o POST.

<div id="create-a-put-request">
  ## Crear una solicitud PUT
</div>

Para cargar un archivo mediante una solicitud PUT, pase el URI siguiente:

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

La URI acepta estos parámetros:

| Parámetro     | Descripción                                                                                                   |
| ------------- | ------------------------------------------------------------------------------------------------------------- |
| `projectName` | El nombre del proyecto. Obligatorio.                                                                          |
| `batchType`   | El nombre del lote. Obligatorio. Si no se especifica ningún valor, se utiliza el tipo de lote predeterminado. |
| `filename`    | El nombre del archivo que se va a cargar. Obligatorio.                                                        |

<Note>
  No puede pasar parámetros de registro en una solicitud PUT. Para obtener más información, consulte [Especificar la estructura de un lote](/es/flexi-capture/package-structure).
</Note>

Especifique explícitamente el valor del encabezado `Content-type` y coloque el archivo que se va a cargar en el cuerpo de la solicitud PUT.

El servidor también admite el uso de hashes. Codifique el valor hash MD5 del archivo en Base64 con UTF-16LE y, a continuación, páselo en el encabezado estándar `Content-MD5`.

El servidor calcula su propio valor hash para el archivo y lo compara con el encabezado. Si los dos valores no coinciden, el servidor elimina el archivo.

Son posibles dos respuestas del servidor:

* **HTTP 201 (Created)** – El archivo se cargó correctamente en el servidor.
* **HTTP 400 (Bad request)** – Falta un parámetro obligatorio o el valor hash no coincide con el valor especificado en el encabezado. No se cargó ningún archivo.

<div id="create-a-post-request">
  ## Crear una solicitud POST
</div>

Use una solicitud PUT siempre que sea posible. Si PUT no es una opción, cargue el archivo mediante una solicitud POST. Pase los parámetros `projectName` y `batchType` en la URL, como en una solicitud PUT, o como campos de texto en el cuerpo de la solicitud.

<div id="pass-multiple-images-in-one-request">
  ### Enviar varias imágenes en una solicitud
</div>

Puede enviar varias imágenes en una sola solicitud POST. Establezca el valor del campo `Content-type` en `multipart/form-data` y especifique el valor del separador en el parámetro `boundary`. Los nombres de los archivos incluidos en una solicitud no deben ser iguales.

En el siguiente ejemplo se envían dos archivos en una sola solicitud:

```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">
  ### Enviar un campo de texto
</div>

También puede enviar un campo de texto en una solicitud POST:

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

Finalice la solicitud con esta cadena boundary:

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