Files
upload-platform/upload/README.md
T

2.4 KiB
Raw Blame History

Upload module

Для встраивания скопируйте один готовый bundle из dist/:

  • IIFE: FilePicker.initFilePicker(config);
  • ESM: import { initFilePicker } from './file-picker.esm.js'.

config должен содержать mount как DOM-элемент или CSS-селектор. Основные параметры: allowedExt, labels, layout, limits, onChange(files) и onError(error, file). onError вызывается для ошибок разбора ZIP; обычные файлы с неподдерживаемым расширением просто пропускаются.

Публичный API picker-а:

  • pickFiles() и pickFolder() — открыть системный выбор;
  • getFiles() — получить leaf-файлы с path, name, size и file;
  • addFiles(files) — добавить файлы программно;
  • remove(id) и clear() — удалить узел или очистить дерево;
  • render() и destroy() — перерисовать или удалить экземпляр.

Picker поддерживает разрешённые документы, папки и вложенные ZIP, хранит исходные browser File objects и выполняет дедупликацию по пути и размеру. Загрузка на VM, backend sessions и upload API не используются. ZIP обрабатывается локально через встроенный в bundle fflate; отдельный vendor script не требуется.

Legacy

Старые uploadViaVM, VM-буфер, backend sessions и upload API относятся к предыдущей архитектуре и в текущем модуле отсутствуют. Упоминания этих названий в HISTORY/ являются историческими и не должны использоваться как инструкция.

Подробная таблица функций, входов, выходов и побочных эффектов находится в ../docs/CODE-REFERENCE.md.

Сборка из исходников

Исходники находятся в frontend/. В корне проекта:

npm install
npm run build

Результат сборки: dist/file-picker.esm.js и dist/file-picker.iife.js.