Позволяет пользователю загрузить файлы в продукт.

Drag here or

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

Drag here
or

Для множественного загрузчика доступен компактный вид в незаполненном состоянии.

Drag here or

При загрузке нескольких файлов их размер всегда показан в списке, а в одиночном загрузчике показ этого параметра настраивается отдельно.

Drag here or

Выбранным файлам доступна настройка особенной иконки. Например, для изображений.

image.jpg
2.1 MB
file.txt
2.1 MB

Компонент можно настроить, чтобы была возможность выбирать только файлы, только папки, файлы или папки.

Drag here
or or

В неактивном состоянии компонент не попадает в фокус, не работает механика перетаскивания.

Drag here
or
Drag here
or

При выборе невалидного файла состояние ошибки получает только соответствующий элемент в списке, а не весь компонент. Сообщения об ошибке выводятся под загрузчиком

Drag here
or
DOC, DOCX, PDF, TXT. No more than 1 MB

По умолчанию компонент растет по высоте, если выбрать много файлов. Но можно настроить максимальный размер, после которого появится прокрутка.

project_alpha.txt
1.05 MB
report_final.docx
2.1 MB
presentation_overview.pptx
3.15 MB
data_analysis.csv
4.19 MB
summary_notes.pdf
5.24 MB

Также возможно установить фиксированную высоту загрузчика.

project_report.docx
1.05 MB
Name
2.1 MB
meeting_notes.txt
3.15 MB
presentation_slide.pptx
4.19 MB
research_paper.pdf
5.24 MB

Пользователь может перетащить файлы на страницу, в этот момент на весь экран будет показана паранджа загрузчика.

Drop files here

Областью для перетаскивания может быть не только весь экран, сам компонент File Upload в форме, но и отдельная часть экрана

Manchester United, one of the most iconic football clubs in the world, is renowned for its rich history, legendary players, and unparalleled success.
Drag your files on sidepanel
Drag here or

По умолчанию каждый новый выбор файлов добавляется к уже загруженным — так удобно собирать список за несколько заходов.

Если нужно, чтобы новый выбор заменял предыдущий — как в обычном системном диалоге выбора файлов, — используйте addStrategy="replace".

Drag here
or

accept попадает в одноименный атрибут нативного поля выбора файла и работает как платформенный: фильтрует состав системного диалога. Пользователь может переключить диалог на «Все файлы», а перетащенный файл с accept не сверяется.

Чтобы отклонить файл, добавьте валидатор контрола. FileValidators.isCorrectExtension принимает тот же список расширений, поэтому задайте его один раз и передайте обоим. Отклоненный файл попадает в список с сообщением об ошибке — примеры валидации собраны на вкладке «Примеры».

О файлах, которые компонент отбросил, сообщает выход (rejected): у одиночного загрузчика это файлы после первого, у множественного со стратегией concat — дубликаты уже добавленных.

Tab переводит фокус на ссылку выбора файла, затем на кнопки удаления в порядке файлов. Delete и Backspace удаляют файл, на кнопке которого стоит фокус. После удаления фокус переходит на кнопку, занявшую его место, а если список опустел — на поле выбора файла.

Добавление и удаление файлов компонент объявляет в собственном live-регионе формулировками активной локали; чтобы заменить их, используйте [localeOverrides] или kbqFileUploadLocaleConfigurationProvider.

Предложения по улучшению
Если вы нашли ошибку или хотите доработать статью, создайте запрос на GitHub.