28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
# Upload module
|
|
|
|
Скопируйте каталог `upload/` в проект и подключите picker:
|
|
|
|
- `initUploadTable(config)` из `frontend/table/init_upload_table.js`;
|
|
- локальный `fflate` до загрузки picker-модуля.
|
|
|
|
`config` должен содержать `allowedExt`, а также ссылки на DOM-элементы
|
|
`fileInputEl`, `folderInputEl`, `tableBodyEl` и `countEl`.
|
|
|
|
Публичный API таблицы:
|
|
|
|
- `pickFiles()` и `pickFolder()` — открыть системный выбор;
|
|
- `getFiles()` — получить leaf-файлы с `path`, `name`, `size` и `file`;
|
|
- `addFiles(files)` — добавить файлы программно;
|
|
- `remove(id)` и `clear()` — удалить узел или очистить дерево.
|
|
|
|
Picker поддерживает разрешённые документы, папки и вложенные ZIP, хранит
|
|
исходные browser `File` objects и выполняет дедупликацию по пути и размеру.
|
|
Загрузка на VM, backend sessions и upload API не используются.
|
|
|
|
## Legacy
|
|
|
|
Каталоги `backend/` и старые ссылки на `uploadViaVM`/VM-буфер относятся к
|
|
предыдущей архитектуре и сохранены как legacy-остатки. Для текущей picker-only
|
|
интеграции они не нужны.
|
|
|
|
Для ZIP перед ES-модулями загрузите локальный `fflate` из `site/static/vendor/`. |