> For the complete documentation index, see [llms.txt](https://docs.eximee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.eximee.com/budowanie-aplikacji/interfejs-uzytkownika/formularze/biblioteka-komponentow-bazowych/5-dokumenty-i-zaloczniki/zalaczniki-uploadfile.md).

# Załączniki - UploadFile

Komponent załączania plików do wniosku

![](/files/34ce62fae0dee85f4bcbeff681f9036ab8639464)

## Właściwości komponentu

<table><thead><tr><th>Właściwość Eximee Designer</th><th width="200.9832763671875">Nazwa atrybutu w Źródle</th><th>Opis</th></tr></thead><tbody><tr><td><strong>Maksymalna liczba załączonych plików</strong> (sekcja <strong>Podstawowe właściwości</strong>)</td><td>numberOfUploadingFiles</td><td>Liczba plików, jaką można załadować w komponencie, domyślnie 1.</td></tr><tr><td><strong>Liczba wymaganych załączników</strong> (sekcja <strong>Jakość danych</strong>)</td><td>requiredCount</td><td>Wymagana liczba plików do załączenia - domyślnie 0. Jeśli 0, to można nie załączyć żadnego pliku, jeśli więcej to zależnie od danej liczby.</td></tr><tr><td><strong>Tekst wyświetlany na brak wymaganych załączników</strong> (sekcja <strong>Jakość danych</strong>)</td><td>requiredCountError</td><td>Komunikat wymagalności, wymagany jeśli zdefiniowana jest właściwość <strong>Liczba wymaganych załączników</strong> (requiredCount).</td></tr><tr><td><strong>Maksymalny rozmiar pliku</strong> (sekcja <strong>Jakość danych</strong>)</td><td>maxFileSize</td><td>Maksymalny rozmiar pliku w KB. Domyślnie 1024 KB.</td></tr><tr><td><strong>Maksymalny sumaryczny rozmiar wszystkich plików</strong> (sekcja <strong>Jakość danych</strong>)</td><td>maxTotalFilesSize</td><td>Maksymalny rozmiar wszystkich załączonych plików w KB. Domyślnie 10240 KB.</td></tr><tr><td><strong>Pokaż listę dostępnych rozszerzeń</strong> (sekcja <strong>Interakcje</strong>)</td><td>showExtensionList</td><td>Włączenie opcji wyświetlania informacji o dopuszczalnych formatach oraz maksymalnym rozmiarze załączanego pliku (domyślnie opcja jest wyłączona). Przykładowa informacja: "Dopuszczalne formaty załączników: pdf (max. 1 MB)"</td></tr><tr><td><strong>Włączenie kompresji obrazów</strong> (sekcja <strong>Interakcje</strong>)</td><td>imageCompressionEnabled</td><td>Możliwość kompresji obrazów (domyślna wartość "false").</td></tr><tr><td><strong>Maksymalna szerokość zdjęcia z kamery</strong> (sekcja <strong>Interakcje</strong>)</td><td>maxWebcamWidth</td><td>Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach. Maksymalna szerokość zdjęcia z kamery w pikselach.</td></tr><tr><td><strong>Maksymalna wysokość zdjęcia z kamery</strong> (sekcja <strong>Interakcje</strong>)</td><td>maxWebcamHeight</td><td>Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach. Maksymalna wysokość zdjęcia z kamery w pikselach.</td></tr><tr><td><strong>Możliwość dołączenia zdjęcia wykonanego kamerą</strong> (sekcja <strong>Interakcje</strong>)</td><td>webcamEnabledCondition</td><td>Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach. Warunek włączający/wyłączający możliwość uploadu zdjęcia wykonanego kamerą wbudowaną w urządzenie.</td></tr><tr><td><strong>Lista dozwolonych rozszerzeń plików</strong> (sekcja <strong>Bezpieczeństwo</strong>)</td><td>validExtensionList</td><td>Formaty dopuszczalnych rozszerzeń plików, wymieniane po przecinku, np.: jpg, jpeg, png, pdf.</td></tr><tr><td><strong>Dodatkowa walidacja plików PDF</strong> (sekcja <strong>Bezpieczeństwo</strong>)</td><td>validateContent</td><td>Dodatkowa walidacja pliku pod kątem FORMATU pdf, a nie samego rozszerzenia.</td></tr><tr><td><strong>Odrzucanie zaszyfrowanych plików PDF, DOC, DOCX, XLS, XLSX</strong> (sekcja <strong>Bezpieczeństwo</strong>)</td><td>rejectEncrypted</td><td>Odrzucanie plików (PDF, DOC, DOCX, XLS, XLSX), jeśli są zaszyfrowane hasłem.</td></tr><tr><td><strong>Wyrażenie regularne do walidacji nazwy pliku</strong> (sekcja <strong>Bezpieczeństwo</strong>)</td><td>allowedFilenameRegexp</td><td>Wyrażenie regularne sprawdzające dopuszczalne nazwy pliku. Możliwe jest nadpisanie domyślnego komunikatu błędu walidacyjnego poprzez dopisanie do tłumaczeń wnioskowych klucza <strong>iew.gwtupload.invalid_filename</strong> i ustalenie nowej wartości tłumaczenia.</td></tr><tr><td><strong>Biała lista znaków</strong> (sekcja <strong>Bezpieczeństwo</strong>)</td><td>extraWhitelistCharacters</td><td>Aby umożliwić przesyłanie plików zawierających niestandardowe znaki, dodaj je do białej listy dozwolonych znaków. np.: (). Ta konfiguracja rozszerza konfigurację webforms.xml ...</td></tr><tr><td><strong>Możliwość dołączania opisów do załączonych plików</strong> (sekcja <strong>Pozostałe</strong>)</td><td>attachmentWithDescription</td><td>Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach. Wyświetlanie pola opisu dla każdego dodanego załącznika. Domyślnie właściwość wyłączona (ustawione na "false").</td></tr><tr><td><strong>Maksymalna liczba znaków opisów do załączonych plików</strong> (sekcja <strong>Pozostałe</strong>)</td><td>attachmentDescriptionMaxLength</td><td>Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach. Maksymalna długość opisu, jaki można wprowadzić dla dodawanego załącznika. Domyślnie 120 znaków.</td></tr><tr><td><strong>Etykieta przycisku</strong> (sekcja <strong>Pozostałe</strong>)</td><td>buttonLabel</td><td>Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach. Tekst wyświetlany na przycisku dodawania pliku.</td></tr><tr><td><strong>Opis pola</strong> (sekcja <strong>Pozostałe</strong>)</td><td>description</td><td>Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach. Tekst opisu.</td></tr><tr><td><strong>Włączenie kompresji obrazów</strong> (sekcja <strong>Pozostałe</strong>)</td><td></td><td>Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach. Właściwość pozwalająca na zmniejszanie załączanych obrazów.</td></tr><tr><td><strong>Typ dokumentu - zaawansowana integracja</strong> (sekcja <strong>Pozostałe</strong>)</td><td>documentType</td><td>Pole techniczne używane przy zaawansowanej integracji (wymaga dodatkowej implementacji). Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.</td></tr><tr><td><strong>Numer kontaktowy - zaawansowana integracja</strong> (sekcja <strong>Pozostałe</strong>)</td><td>contractNumber</td><td>Pole techniczne używane przy zaawansowanej integracji (wymaga dodatkowej implementacji). Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.</td></tr><tr><td><strong>Typ procesu</strong> (sekcja <strong>Pozostałe</strong>)</td><td>processType</td><td>Nazwa procesu przekazywana do usługi zapisującej załączany plik w zasobie zewnętrznym. Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.</td></tr><tr><td><strong>Wywołanie walidatora zewnętrznego dla dodanego pliku</strong></td><td>singleFileValidator</td><td>Wywołanie walidatora zewnętrznego dla dodanego pliku. Walidator wołany jest przy próbie dodania każdego pliku (jeśli załącznik nie przejdzie walidacji, to jest odrzucany). Właściwość należy dodać z poziomu Źródła xml.</td></tr></tbody></table>

> Więcej informacji o właściwościach komponentu: [Wspólne właściwości komponentów](/budowanie-aplikacji/interfejs-uzytkownika/formularze/praca-z-komponentami-bazowymi/wspolne-wlasciwosci-komponentow.md)

## Użycie komponentu

{% stepper %}
{% step %}
**Dodanie pliku**

Aby zaimportować plik za pomocą komponentu **Załączniki**, należy kliknąć przycisk **Dodaj plik**. Otworzy się wtedy systemowe okno wyboru pliku. Po wybraniu pliku zostanie on zaimportowany. Po zakończeniu importu nazwa pliku pojawi się na liście.
{% endstep %}

{% step %}
**Usuwanie pliku**

Zaimportowane pliki można usunąć, klikając przycisk **Usuń** widoczny przy nazwie pliku.
{% endstep %}
{% endstepper %}

![Ilustracja 1. Przykładowy wygląd komponentu na wniosku](/files/a7491105b1015b0ce84d17021073a246d85fc045)

![Ilustracja 2. Przykładowy wygląd komponentu z przesłanym załącznikiem](/files/32580fdd881cfa35b0bc730861bdfb94d088b2e8)

{% hint style="info" %}
Do komponentu **Załączniki** można dołączyć plik o dowolnym rozszerzeniu.
{% endhint %}

## Opis do załączonych plików

{% hint style="info" %}
Dostępność funkcjonalności zależy od licencji i może nie być dostępna we wszystkich wdrożeniach.
{% endhint %}

Do załączonego pliku można dodać jego opis. W tym celu należy zaznaczyć pole **Możliwość dołączania opisów do załączonych plików** (attachmentWithDescription) (domyślnie pole jest wyłączone). Długość dodanego opisu można ustawić w polu **Maksymalna liczba znaków opisów do załączonych plików** (attachmentDescriptionMaxLength).

## Parametry wejściowe komponentu

| Właściwość             | Opis                                                            |
| ---------------------- | --------------------------------------------------------------- |
| **maxFileSize**        | Maksymalny rozmiar pliku w bajtach                              |
| **validExtensionList** | Lista dopuszczalnych rozszerzeń (jedno rozszerzenie per wiersz) |
| **maxWebcamWidth**     | Maksymalna szerokość zdjęcia z kamery w pikselach               |
| **maxWebcamHeight**    | Maksymalna wysokość zdjęcia z kamery w pikselach                |

## Parametry wyjściowe komponentu

| Właściwość         | Opis                                                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------------------------------- |
| **totalFilesSize** | Suma rozmiarów wszystkich plików dodanych za pomocą komponentu uploader'a                                           |
| **fileNames**      | Pobranie nazwy plików dodanych do kontrolki. Dane zwracane są w formacie JSON: \["nazwaPliku1", "nazwaPliku2", ...] |
| **externalIds**    | Identyfikatory plików z zewnętrznej usługi, podobnie jak powyżej są zwracane w formacie JSON.                       |

Jeśli chcemy w komponencie np. Polu tekstowym wyświetlić sumę rozmiarów wszystkich plików, możemy to zrobić z użyciem właściwości **ŹRÓDŁO DANYCH Z INNEGO POLA** (valueSourceId) komponentu, który ma wyświetlać wartość. W tym celu właściwość **ŹRÓDŁO DANYCH Z INNEGO POLA** przypisujemy następującą wartość: `GesUploadFile1$totalFilesSize` gdzie `GesUploadFile1` jest identyfikatorem komponentu załącznika, natomiast `totalFilesSize` jest właściwością tego komponentu, której wartość zostanie wpisana. Przepisywanie wartości wymaga dodatkowo nasłuchiwania na komponent załącznika.

## Definiowanie akcji czyszczenia komponentu

Dla komponentu możliwe jest zdefiniowanie na głównym szablonie wniosku akcji czyszczącej komponent z załączonego pliku. Więcej informacji w [Akcje](/budowanie-aplikacji/logika-biznesowa/przeplywy/akcje.md).

{% hint style="info" %}
Wniosek demo: demoUploadFile
{% endhint %}

{% hint style="info" %}
♿WCAG: [Dobre praktyki WCAG dla low-code dev](/budowanie-aplikacji/proces-biznesowy/tworzenie-procesu-biznesowego-w-bpmn-2.0/dobre-praktyki.md)
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.eximee.com/budowanie-aplikacji/interfejs-uzytkownika/formularze/biblioteka-komponentow-bazowych/5-dokumenty-i-zaloczniki/zalaczniki-uploadfile.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
