1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lovefc-fcup2

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Проект представляет собой лёгкий JavaScript-класс, предназначенный для загрузки больших файлов и изображений на веб-страницах. Он позволяет устанавливать различные параметры загрузки, предоставляет несколько обратных вызовов и может быть легко привязан к любому идентификатору (id).

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

Официальный сайт: http://fcup.lovefc.cn

Репозитории:

Пример использования пакета в NODE: https://gitee.com/lovefc/webpack.

Использование

Для начала работы с библиотекой можно скачать исходный код или использовать git для клонирования проекта. Обратите внимание, что в новой версии демо используется база данных SQLite, поэтому необходимо проверить наличие расширения SQLite в вашей среде PHP. Кроме того, каталог для загрузки должен иметь права на чтение и запись.

Пример использования

// Пример загрузки №2
let up = new fcup({
  id: "upid", // Привязка к id
  url: "server/php_db/upload.php", // Адрес URL
  check_url: "server/php_db/check.php", // URL для проверки
  type: "jpg,png,jpeg,gif", // Ограничение типов файлов (пустое значение означает отсутствие ограничений)
  shard_size: "0.005", // Размер фрагмента загрузки (в мегабайтах), по умолчанию 1 мегабайт
  min_size: '', // Минимальный размер файла (в мегабайтах)
  max_size: "2", // Максимальный размер файла (в мегабайтах), максимум 200 мегабайт

  // headers: {"version": "fcup-v2.0"}, // Дополнительные заголовки файлов (при использовании могут возникнуть проблемы с междоменными запросами)

  // apped_data: {}, // Дополнительные данные для каждой загрузки

  // Определение сообщений об ошибках
  error_msg: {
    1000: "Не найден идентификатор загрузки",
    1001: "Тип файла не разрешен для загрузки",
    1002: "Файл слишком мал для загрузки",
    1003: "Размер файла превышает допустимый предел",
    1004: "Запрос на загрузку превысил время ожидания"
  },

  // Функция обработки ошибок
  error: (msg) => {
    alert(msg);
  },      

  // Инициализация событий
  start: () => {
    console.log('Загрузка готова к запуску');
    Progress2(0);
  },

  // Ожидание загрузки
  before_send: () => {
    console.log('Ожидание запроса');
  },

  // Событие прогресса загрузки
  progress: (num, other) => {
    Progress2(num);
    console.log(num);
    console.log("Прогресс загрузки" + num);
    console.log("Тип файла" + other.type);
    console.log("Уже загружено" + other.current);
    console.lib("Осталось загрузить" + other.surplus);
    console.log("Использованное время" + other.usetime);
    console.log("Предполагаемое время" + other.totaltime);
  },

  // Обратный вызов после успешной проверки URL, используется для определения существования файла, типа файла и текущего номера фрагмента
  check_success: (res) => {

    let data = res ? eval('(' + res + ')') : '';

    let status = data.status;

    let url = data.url;

    let msg = data.message;

    // Обработка ошибки
    if (status == 1 ) {
      alert(msg);
      return false;
    }

    // Файл уже существует
    if (status == 2) {
      alert('Файл уже существует');
      return false;
    }

    // Если параметр предоставлен, подготовка к возобновлению загрузки будет выполнена
    if(data.file_index){
      // Начало загрузки с указанного фрагмента (начинается с 1)
      let file_index = data.file_index ? parseInt(data.file_index) : 1;
      // Установка начального фрагмента для возобновленной загрузки
      up.set_shard(file_index);
    }

    // Для успешного завершения загрузки необходимо вернуть true, иначе загрузка будет остановлена
    return true;
  },

  // Успешная загрузка
  success: (res) => {

    let data = res ? eval('(' + res + ')') : '';

    let url = data.url + "?" + Math.random();

    let file_index = data.file_index ? parseInt(data.file_index) : 1;

    if (data.status == 2) {
      alert('Загрузка завершена');
    }

    // Для успешной загрузки необходимо вернуть true
    return true;
  }
});

Параметры для фронтенда

Параметр Тип Значение по умолчанию Описание
id string Нет Идентификатор DOM
url string Нет URL для загрузки на сервер
check_url string Нет URL для проверки
type string Пустой Ограничения на типы файлов (разделенные запятыми без учета регистра)
shard_size int, float 2 Размер фрагмента загрузки в мегабайтах (не рекомендуется устанавливать слишком маленькое значение из-за расчета MD5)
min_size int, float Нет Минимальный размер файла в мегабайтах
max_size int, float Нет Максимальный размер файла в мегабайтах
headers object Нет Дополнительные заголовки для каждого файла (могут вызвать проблемы при междоменных запросах)
apped_data object Нет Дополнительные данные для каждой загрузки
timeout int 3000 Время ожидания AJAX
error_msg object Объект Сообщения об ошибках
start function Функция Событие после инициализации класса
before_send function Функция Ожидание события перед загрузкой
progress function Функция Прогресс загрузки
error function Функция Обработка внутренних ошибок
check_success function Функция Проверка успешности загрузки, включая определение существования файла, его типа и номера фрагмента
success function Функция Успешное завершение загрузки (циклическое событие)

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/lovefc-fcup2.git
git@api.gitlife.ru:oschina-mirror/lovefc-fcup2.git
oschina-mirror
lovefc-fcup2
lovefc-fcup2
master