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

Каждый файл проверяется по accept, maxSize, minSize, maxFiles и вашей функции validate, а отклонённые файлы выводятся списком с указанием причины. Для изображений показывается превью.

Без функции upload зона просто хранит файлы для формы в [(files)]. С ней — загружает их по несколько за раз, с прогрессом, отменой и повтором. Передайте signal загрузки в fetch, чтобы отмена её останавливала.

Загрузка

Имитация загрузки сообщает о прогрессе поэтапно. Файлы, в имени которых есть «fail», не загружаются, чтобы показать повтор, а directory добавляет кнопку выбора папки.

Uploaded: 0

Вложения для формы

Без upload: зона хранит до трёх документов в [(files)], а её собственный текст заменяет текст по умолчанию.

0 of 3 attached, 0 kB