Автор оригинала: FreeCodeCamp Community Member.
Прашант Ядав
В этой короткой статье мы узнаем, как создавать загрузку пользовательских файлов с jQuery, ES6 и загрузочный 4.
Мы создадим файловый загрузчик с пользовательским дизайном и возможностью предварительного просмотра выбранных файлов и удалить их.
Поддержите меня, прочитав эту статью здесь .
Демонстрация
Проверьте живую демонстрацию здесь Отказ
Выполнение
- Мы будем использовать файл HTML5 для загрузки файлов.
- Затем, с помощью POPOVER BUTTSTRAP, мы просматриваем выбранные файлы.
- При предварительном просмотре файлов мы предоставим возможность удалить выбранный файл.
- Как jQuery является одним из зависимостей для Popover Bootstrap, мы будем использовать его, чтобы облегчить нашу работу.
Зависимости
HTML макет для файла загрузчик
Объяснение
- Мы создали контейнер с именем
Custom-File-Picker
Отказ - В этом мы имеем наш пользовательский файл загрузки
картинка-контейнер
и наше преобразователь POPOVERПоповер-контейнер
Отказ - Каждый сбор файлов имеет уникальный идентификатор
A8755CF0-F4D1-6376-EE21-A6DEFD1E7C08
и его соответствующее покрытие относится к этому IDGANCE-TACES = "A8755CF0-F4D1-6376-EE21-A6DEFD1E7C08"
Для предварительного просмотра файлов.
Стиль наших компонентов
Обработка функциональности
Теперь, когда мы создали наши компоненты, пришло время справиться с функциональностью. Мы будем использовать jQuery с ES6 сделать все легко.
Хранение файлов
Мы создадим глобальную переменную для хранения файлов.
Мы будем использовать эту переменную для хранения всех файлов соответствующего сборщика файлов с помощью его идентификатора.
Теперь мы создадим функцию, которая будет управлять хранением файла и отображать количество файлов. Эта функция займет ID
и Массив файлов
в качестве ввода.
$ (`[data-id =" $ {id} "]> .file-Total-Viewer`) .text (files.lengt
h); Обновите счет файла в POPOVER Previewer.
Обработка сбора файлов
У нас наша функция готова обновить счет и хранить файлы. Мы просто передам данные к этой функции после выбора файлов или измененных.
После того, как файлы будут выбраны, мы покажем полную анимацию с SVG, чтобы уведомить пользователей, что файлы изменены.
Прямо сейчас у нас есть наш файл, хранящийся и считался видимым. Давайте создадим предварительный просмотр файла с загрузкой POPOVER.
Bootstrap предоставляет нам метод динамически генерировать содержимое покрытия. Итак, мы прикрепляем Поповерту к [Data-toggle = "popover"]
Отказ Узнайте больше об этом здесь Отказ
Как это работает
- Каждый раз, когда всплывающее окно рендерирует, что он будет использовать его
[Цель данных]
ID и потяните все файлы изFileStorage
Отказ - Если есть файлы, то рендерируйте эти файлы вместе с кнопкой удаления.
- Если нет файла, то показать некоторое сообщение.
Теперь в случае, если у вас есть несколько файлов загрузчиков, и вы хотите, чтобы только один попуктор был открыт за раз, добавьте следующий код.
Если вы выберете файл и нажмите на Вид
Вы должны быть в состоянии просматривать это. Теперь последнее, что мы сделаем, это справиться с удалением файлов.
Удаление файла
Мы предоставили идентификатор сборника файлов к кнопке удаления через Цель данных
и имя файла через Имя данных
Отказ Каждый раз, когда значок удаления нажат, что мы будем использовать эти значения, чтобы удалить файлы.
Как мы динамически генерируем содержание POPOVER, и он уже не существует в DOM, мы не можем назначить ему событие. Таким образом, мы должны использовать обходной путь назначения события на DOM и проверять, нажат ли значок удаления с помощью $ (документ) .on («щелкнуть», «.POPOVER-CONTENT-RELEAL», функция (E) {});
Отказ
Как это работает
- После нажатия значок удаления мы попросим подтверждения от пользователя.
- Если пользователь хочет продолжить, то мы получим идентификатор и имя, назначенное для удаления кнопки с помощью
Цель данных
иИмя данных
Отказ - Мы удалим этот конкретный файл с помощью метода Filter ().
- Как только файл удален из массива, то мы обновляем его счет, передавая значение нашей функции помощника
StoreFile (ID, Newarr);
Отказ - Кроме того, мы вынимаем элемент из попления. Если массив пуст, то показать некоторое сообщение.
Примечание. Вы должны предоставить уникальный идентификатор для каждого сборщика файлов и его предварительного просмотра.
Полный код
Если вам понравилась эта статья, пожалуйста, дайте ему 50+? И поделитесь этим! Если у вас есть какие-либо вопросы, связанные с этим, не стесняйтесь спрашивать меня.
Для большего количества таких и алгоритмических решений в JavaScript следуйте за мной на Twitter Отказ Я пишу о ES6 , Реагировать, nodejs, Структуры данных и Алгоритмы на Nearnersbucket.com Отказ