> For the complete documentation index, see [llms.txt](https://docs.keyfax.biz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.keyfax.biz/product-suite/keynamics/advanced/handling-uploaded-content.md).

# Handling uploaded content

How to access uploaded file content in KeyNamics

Under the control of scripts, Keyfax users have the ability to upload files. Permitted file types are restricted by configuration inside Admin Tools as described [here](/product-suite/admin/entities/questions/file-upload.md).

Details (URLs etc) relating to any uploaded files are located in the exported XML data and KeyNamics Mapping can be used to pull this into Dynamics.

{% hint style="info" %}
Uploaded files are retained on the Keyfax webserver (in the **Interview/Logs/Uploads** folder) for a configurable period of time which can be extended if required - please contact Support).
{% endhint %}

In KeyNamics you can handle any number of uploaded files by specifying individual mappings:

<figure><img src="https://2882349412-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MARm6St_qFGM52R3pBa%2Fuploads%2F21rtstxoys1HOOw0XzD7%2F2023-11-08_10h09_24.png?alt=media&amp;token=abfd30b0-5235-4e92-ac34-852efc78dea1" alt=""><figcaption><p>Mapping a file URL to the 'keyfax_upload1' form field</p></figcaption></figure>

For multiple files, you will need to create a Mapping for each and the predicate needs to be incremented in turn e.g. **Uploads/File\[2]**, **\[3], \[4]** etc.

In Dynamics it may be appropriate to format the **target** field (in the above example this is **keyfax\_upload1**) to expect a **URL**, for example:

<figure><img src="https://2882349412-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MARm6St_qFGM52R3pBa%2Fuploads%2FfwHFmTwTp2SS9o648z7X%2F2023-11-08_10h14_53.png?alt=media&amp;token=607650d6-15f7-478d-99a0-92884d9c9ab4" alt=""><figcaption><p>Specifying a URL format in Dynamics</p></figcaption></figure>

Export XML provides the following details:&#x20;

```
<Uploads>
  <File name="Basin.JPG" type="image/jpeg" length="2059660"><![CDATA[https://keyfax.domain.com/interview/Main/Uploads/?f=2167b63c-15f7-4984-8c12-a205dcd5e9ad/Basin.JPG]]></File>
  <File name="IMG_0258.JPG" type="image/jpeg" length="1487095"><![CDATA[https://keyfax.domain.com/interview/Main/Uploads/?f=cff0c444-085e-4b04-9fd8-455e06e13a47/IMG_0258.JPG]]></File>
  <File name="Issues.docx" type="application/vnd.openxmlformats-officedocument.wordprocessingml.document" length="27142"><![CDATA[https://keyfax.domain.com/interview/Main/Uploads/?f=9d190fe3-f6a9-439e-b73d-f86b308c37bb/Issues.docx]]></File>
  </Uploads>
```

Exported JSON provides the following details:

```
"Uploads": { "File": [ "https://kftest.touch-base.com/InterView/Logs/Uploads/4cc612a6-b2b1-41bc-a8ab-99c6bc7f8171/Basin.jpg", "https://kftest.touch-base.com/InterView/Logs/Uploads/3311cf50-eebb-40dc-be7f-5958bacdfca1/IMG_0979.JPG" ] }

```
