Перейти к содержимому

CoreFileUpload

Примеры использования и документация.

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

Технические детали: дропзона-кнопка открывает скрытый (визуально, не display:none — остаётся тестируемым) нативный input[type=file]; drop и клик проходят общий фильтр: accept (mime или расширения, включая image/*), maxSize в МБ на файл, суммарный лимит max, дубликаты отбрасываются по name+size+lastModified. Отклонённые файлы не попадают в модель — родителю приходит событие rejected с файлом и причиной (тип / размер / лимит); change сбрасывается, чтобы повторный выбор того же файла снова сработал. Модель — File[] (defineModel); превью image/* через objectURL с освобождением при удалении и размонтировании; после drop-зоны не мерцает подсветка на переходе курсора на потомков (dragleave фильтруется по relatedTarget). flow — градиентная анимированная рамка дропзоны (uno core-ctrl-flow, цвета темы primary/secondary; dragover-подсветка цели остаётся видимой), label/hint — подписи, disabled отключает всю зону.

JPG/PNG до 2 МБ, до 3 фото

нет выбранных файлов

Перетащите или выберите

нет выбранных файлов

файлов: 0