Рубрики
Без рубрики

Как построить пользовательскую загрузку файлов с HTML5, JavaScript и Bootstrap

Prashant Yadav Как построить пользовательский файл загрузчик с HTML5, JavaScript и Bootstrappixabayin Эта короткая статья, мы узнаем, как создавать пользовательский загрузчик файлов с jQuery, ES6 и Bootstrap4. Мы создадим файловый загрузчик с пользовательским дизайном и вариантом для предварительного просмотра выбранных файлов и

Автор оригинала: FreeCodeCamp Community Member.

Прашант Ядав

В этой короткой статье мы узнаем, как создавать загрузку пользовательских файлов с jQuery, ES6 и загрузочный 4.

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

Поддержите меня, прочитав эту статью здесь .

Демонстрация

Проверьте живую демонстрацию здесь Отказ

Выполнение

  • Мы будем использовать файл HTML5 для загрузки файлов.
  • Затем, с помощью POPOVER BUTTSTRAP, мы просматриваем выбранные файлы.
  • При предварительном просмотре файлов мы предоставим возможность удалить выбранный файл.
  • Как jQuery является одним из зависимостей для Popover Bootstrap, мы будем использовать его, чтобы облегчить нашу работу.

Зависимости

HTML макет для файла загрузчик

Объяснение

  • Мы создали контейнер с именем Custom-File-Picker Отказ
  • В этом мы имеем наш пользовательский файл загрузки картинка-контейнер и наше преобразователь POPOVER Поповер-контейнер Отказ
  • Каждый сбор файлов имеет уникальный идентификатор A8755CF0-F4D1-6376-EE21-A6DEFD1E7C08 и его соответствующее покрытие относится к этому ID GANCE-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 Отказ