Войти

Компонент для загрузки файлов FileUploadComponent

Общая информация

Компонент FileUploadComponent предназначен для загрузки различных пользовательских файлов

Поддерживаемые экраны

Компонент может быть задействован на экране типа:

Компонент в стандартной услуге

Внешний вид компонента

В услуге

Рисунок1.png

В конструкторе

Рисунок2.png

Структура компонента FileUploadComponent

ВКУ JSON
В конструкторе Атрибут Тип Описание
1 Идентификатор компонента id string Уникальный идентификатор компонента в JSON
2 Имя компонента name string Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент
3 Компонент используется на циклических экранах isCycledComponent boolean Позволяет осуществить уникальную загрузку файла на каждой итерации в цикле
4 Скрыть оставшийся объём загружаемых файлов hideTotalAvailableSize boolean Позволяет скрыть оставшийся объём загружаемых файлов
5 Скрыть оставшееся количество загружаемых файлов hideTotalAvailableCount boolean Позволяет скрыть оставшееся количество загружаемых файлов
6 Максимальный общий объём, байт maxSize string Позволяет задать максимальный общий объём загрузки файлов в заявлении
7 Максимальное общее количество файлов maxFileCount string Позволяет задать максимальное общее количество загружаемых файлов
8 Идентификатор загрузчика uploadId string Уникальный идентификатор загрузчика
9 Название title string Позволяет указать название документа
10 Загрузчик обязателен для заполнения required boolean Принуждает пользователя к обязательной загрузке файлов
11 Текст загрузчика label string Позволяет указать описание загрузчика и добавить дисклеймер
12 Допустимые типы файлов fileType array Задаёт массив допустимых типов файлов в данном загрузчике
13 Объединить все фотографии в PDF VKUpdfFileNameCheckBox boolean Позволяет несколько загруженных файлов объединить в один файл формата pdf
14 Формат файлов type array Позволяет указать формат файла, для которого будет настроено ограничение по количеству файлов данного формата
15 Максимально возможное количество файлов для данного списка типов maxFileCount string Позволяет установить максимальное количество файлов для определённого типа или списка типов файлов
16 Максимальный объём файлов, байт maxSize integer Позволяет задать максимальный объём файлов для каждого загрузчика из массива
17 Минимальный объём файла, байт minSize integer Позволяет задать минимальный объём файлов для каждого загрузчика из массива
18 Максимальное количество файлов maxFileCount string Позволяет задать максимальное количество файлов в рамках загрузчика
19 Не сжимать файл при загрузке notCompression boolean Позволяет не сжимать файл при загрузке, сохраняя данные о дате создания, дате изменения, кем сохранено, кем изменено, количество символов, координатах
20 Только просмотр файлов readonly boolean Позволяет ограничить загрузчик на просмотр и скачивание файлов
21 Регулярное выражение value string Позволяет задать шаблон, по которому будет проверяться название файла
22 Текст ошибки errorMsg string Красный текст ошибки, который будет отображаться если наименование файла будет не соответствовать правилу валидации
23 Описание ошибки description string Серый текст, который будет отображаться если наименование файла будет не соответствовать правилу валидации
24 Модальные окна с пояснениями clarifications object, array Позволяет раскрыть блок «Настроить модальное окно с пояснением вручную» или сделать список ссылок на пояснительные переходы
25 Настроить модальное окно с пояснением вручную acceptableTypes additionalProperties Позволяет настроить модальные окна
26 Компонент обязателен для заполнения required boolean Обязывает пользователя загрузить хотя бы один файл в массиве загрузчиков, когда компонент расположен на составном экране. Компонент всегда должен использоваться на экране со сложным компонентом
27 Идентификатор подсказки suggest suggestionId string Механизм отображения пользователю набора подходящих для ввода данных и автоматическое заполнение полей формы этими данными
28 Вычисляемые аргументы компонента (linkedValues) linkedValues array Атрибуты компонента, позволяющие реализовать сложный функционал

Пример JSON структуры компонента передаваемой в DTO

{

    "visited": true,

    "value": "{

                "id":"c63",

                        "type":"FileUploadComponent",

                        "uploads":[

                            {"uploadId":"doc",

                            "value":[

                                {

                                   "fileUid":20277330337,

                                   "objectId":4650057531,

                                   "objectTypeId":2,

                                   "mnemonic":"c63.FileUploadComponent.doc.4650057531",

                                   "fileName":"pdf.pdf",

                                   "fileExt":"pdf",

                                   "fileSize":25621,

                                    "fileHash":"bHTb1f6zVvNvmNJ3fDSQNhNwzFhjHCu76yVtw1oQgFQ=",

                                   "mimeType":"application/pdf",

                                   "hasSign":false,

                                   "created":"2024-10-17T06:21:25.580Z",

                                   "updated":"2024-10-17T06:21:25.659Z",

                                   "realPath":"10/17/0/65/5d264f3b-81ab-4dcd-ace5-c19ef0d7c308",

                                   "deleted":false,

                                   "bucket":"epgu202410",

                                   "nodeId":"f_dc",

                                   "userId":1000586284,

                                   "s3EndpointCode":"epgu4",

                                   "storageType":"S",

                                   "status":"WITHOUT_VERIFICATION",

                                   "alternativeMimeTypes":[],

                                   "objectType":2,"uploaded":true

                                   }

                             ],

                            "required":true

                        }

                     ],

               "totalCount":1,

               "totalSize":25621

             }"

}

Варианты использования

Ниже показаны примеры настройки общего количества файлов в загрузчике и количества файлов в массиве

Можно выделить два основных варианта настройки в зависимости от количества экранов загрузки файлов в услуге

  1. Если экран загрузки файлов один в услуге, то сумма загружаемых файлов в массиве должна быть ровна общему количеству файлов в загрузчике. В таком варианте если достигнуто максимальное количество загруженных файлов в одном из загрузчиков массива появиться уведомление «Выбрано максимальное количество файлов на заявление»
  2. Рисунок3.png

    Рисунок5.png

  3. Если экран загрузки файлов не один в услуге, то сумма загружаемых файлов в массиве должна быть меньше общего количества файлов в загрузчике. В таком варианте если достигнуто максимальное количество загруженных файлов в одном из загрузчиков массива появиться уведомление «Выбрано максимальное количество файлов

Рисунок4.png

Рисунок6.png

Компонент в услуге Робота Макса

Внешний вид компонента

В услуге Робота Макса

в услуге.png

В конструкторе

в конструкторе.png

Структура компонента FileUploadComponent

ВКУ JSON
В конструкторе Атрибут Тип Описание
1 Идентификатор компонента id string Уникальный идентификатор компонента в JSON
2 Имя компонента name string Допускается ввод любых данных для отображения в конструкторе, однако классическим видом является s1_с1, где номера — сгенерированные идентификаторы, s — экран, c — компонент
3 Скрыть оставшийся объём загружаемых файлов hideTotalAvailableSize boolean Позволяет скрыть оставшийся объём загружаемых файлов
4 Скрыть оставшееся количество загружаемых файлов hideTotalAvailableCount boolean Позволяет скрыть оставшееся количество загружаемых файлов
5 Максимальный общий объём, байт maxSize string Позволяет задать максимальный общий объём загрузки файлов в заявлении
6 Максимальное общее количество файлов maxFileCount string Позволяет задать максимальное общее количество загружаемых файлов
7 Идентификатор загрузчика uploadId string Уникальный идентификатор загрузчика
8 Загрузчик обязателен для заполнения required boolean Принуждает пользователя к обязательной загрузке файлов
9 Допустимые типы файловfileTypearrayЗадаёт массив допустимых типов файлов в данном загрузчике
10 Объединить все фотографии в PDF VKUpdfFileNameCheckBox boolean Позволяет несколько загруженных файлов объединить в один файл формата pdf
11 Формат файлов type array Позволяет указать формат файла, для которого будет настроено ограничение по количеству файлов данного формата
12 Максимально возможное количество файлов для данного списка типов maxFileCount string Позволяет установить максимальное количество файлов для определённого типа или списка типов файлов
13 Максимальный объём файлов, байт maxSize integer Позволяет задать максимальный объём файлов для каждого загрузчика из массива
14 Минимальный объём файла, байт minSize integer Позволяет задать минимальный объём файлов для каждого загрузчика из массива
15 Максимальное количество файлов maxFileCount string Позволяет задать максимальное количество файлов в рамках загрузчика
16 Не сжимать файл при загрузке notCompression boolean Позволяет не сжимать файл при загрузке, сохраняя данные о дате создания, дате изменения, кем сохранено, кем изменено, количество символов, координатах
17 Регулярное выражение value string Позволяет задать шаблон, по которому будет проверяться название файла
18 Текст ошибки errorMsg string Красный текст ошибки, который будет отображаться если наименование файла будет не соответствовать правилу валидации
19 Описание ошибки description string Серый текст, который будет отображаться если наименование файла будет не соответствовать правилу валидации
20 Модальные окна с пояснениями clarifications object, array Позволяет раскрыть блок «Настроить модальное окно с пояснением вручную» или сделать список ссылок на пояснительные переходы
21 Настроить модальное окно с пояснением вручную acceptableTypes additionalProperties Позволяет настроить модальные окна
22 Компонент обязателен для заполнения required boolean Обязывает пользователя загрузить хотя бы один файл в массиве загрузчиков, когда компонент расположен на составном экране. Компонент всегда должен использоваться на экране со сложным компонентом
23 Вычисляемые аргументы компонента (linkedValues) linkedValues array Атрибуты компонента, позволяющие реализовать сложный функционал

Пример JSON структуры компонента передаваемой в DTO

{

    "visited": true,

    "value": "{

                "id":"c63",

                        "type":"FileUploadComponent",

                        "uploads":[

                            {"uploadId":"doc",

                            "value":[

                                {

                                   "fileUid":20277330337,

                                   "objectId":4650057531,

                                   "objectTypeId":2,

                                   "mnemonic":"c63.FileUploadComponent.doc.4650057531",

                                   "fileName":"pdf.pdf",

                                   "fileExt":"pdf",

                                   "fileSize":25621,

                                    "fileHash":"bHTb1f6zVvNvmNJ3fDSQNhNwzFhjHCu76yVtw1oQgFQ=",

                                   "mimeType":"application/pdf",

                                   "hasSign":false,

                                   "created":"2024-10-17T06:21:25.580Z",

                                   "updated":"2024-10-17T06:21:25.659Z",

                                   "realPath":"10/17/0/65/5d264f3b-81ab-4dcd-ace5-c19ef0d7c308",

                                   "deleted":false,

                                   "bucket":"epgu202410",

                                   "nodeId":"f_dc",

                                   "userId":1000586284,

                                   "s3EndpointCode":"epgu4",

                                   "storageType":"S",

                                   "status":"WITHOUT_VERIFICATION",

                                   "alternativeMimeTypes":[],

                                   "objectType":2,"uploaded":true

                                   }

                             ],

                            "required":true

                        }

                     ],

               "totalCount":1,

               "totalSize":25621

             }"

}

Дополнительная информация

  • Из-за диалогового формата взаимодействия в РМ в услуге необходимо создавать компонент FileUpload только с одним загрузчиком (объектом) в секции components.uploads
  • Компонент РМ не поддерживает наличие "title" и "label" в секции "uploads". Всю информацию необходимо прописывать в header и subHeader.text самого экрана

Авторизуйтесь, чтобы оставить комментарий к статье