# 55. Upload zip-filer (over 6 MB)

Som en teknisk begrænsning hos AWS-cloududbyderen skal upload af filer større end 6 MB ske i 2 trin:

#### **1. Anmod om det forudsignerede link til efterfølgende direkte upload.**  <a href="#step1" id="step1"></a>

Som input:&#x20;

* `fileType` - `udbytte` ELLER `jord` ELLER `anvendt` ELLER `adapt` ELLER `grænse`,&#x20;
* `farmUuid` (valgfrit) - uuid for gården hvor filen skal importeres.&#x20;

Som output:

* `uuid` - den forventede uuid efter upload og behandling,
* `farmUuid` - det samme som input,
* `fileType` - det samme som input,
* `s3Url` - den URL der bruges til at uploade filen,
* `s3Fields` - attributter der skal medsendes i upload-formularen.

Detaljerne om hvordan man bruger `s3Url` og `s3Fields` er beskrevet i det andet trin.&#x20;

Attributterne er kun gyldige i 60 minutter til upload af filen.

{% code overflow="wrap" lineNumbers="true" %}

```graphql
mutation GeneratePresignedPostFileData {
  generatePresignedPostFileData(input:{
    fileType: applied
    farmUuid: "8bba5132-3a92-4ce1-8699-220e78ad68bd"
  } ) {
    uuid
    farmUuid
    fileType
    s3Url
    s3Fields
  }
}

```

{% endcode %}

#### **2. Send en lokal fil til s3Url med foruddefinerede formularattributter fra s3Fields.**  <a href="#step2" id="step2"></a>

{% code overflow="wrap" lineNumbers="true" %}

```bash
curl --location --request POST '<s3Url>' \
--form 'key="<value_in_s3Fields>"' \
--form 'AWSAccessKeyId="<value_in_s3Fields>"' \
--form 'x-amz-security-token="<value_in_s3Fields>"' \
--form 'policy="<value_in_s3Fields>"' \
--form 'signature="<value_in_s3Fields>"' \
--form 'file=@"<local_file_path>"'
```

{% endcode %}

Notifikationer om behandlingen leveres via abonnementsmekanismen beskrevet i\
&#x20;[1. Abonnement: Hent hændelser](/geopard-tutorials/dnk/api-dokumentation/oversigt-over-geopard-api-anmodninger/1.-abonnement-hent-haendelser.md).

{% hint style="info" %}
Responsens header inkluderer en `Etag` header, som fx fremstår som `Etag: "6fd3e76992738357ab50039f2c60024e"`. Denne værdi bruges efterfølgende i GraphQL [query getPlatformContext](/geopard-tutorials/dnk/api-dokumentation/oversigt-over-geopard-api-anmodninger/83.-foresporgsel-indsaml-platformkontekst.md) for at overvåge behandlingsforløbet samt associationen med enhederne "Field", "AsAppliedDataset", "YieldDataset" og "SoilDataset".
{% endhint %}

{% hint style="info" %}
Brug `‘Accept-Encoding’:’gzip, deflate, br’`.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.geopard.tech/geopard-tutorials/dnk/api-dokumentation/oversigt-over-geopard-api-anmodninger/55.-upload-zip-filer-over-6-mb.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
