upload-asset-tree
Recursively upload a local directory of assets to Foundry VTT over WebDAV, maintaining folder structure and skipping duplicates. Supports extension filtering and overwrite option.
Instructions
Plane B (file channel, write). Recursively upload a LOCAL directory tree of ASSETS to the Foundry data area over WebDAV, preserving the subtree layout (each file → remoteRoot/), creating parent folders as needed. Use for BULK imports — a scene pack's images, a tiles folder — instead of one upload-asset per file. Skips files that already exist unless overwrite:true; optional includeExt filter (e.g. ["webp"]). ASSETS ONLY — refuses live world-DB paths. Reports uploaded/skipped/error counts. PRIVACY: anything under Data/ is served publicly with no auth. Requires MOLTEN_WEBDAV_PASSWORD.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| localRoot | Yes | Absolute path to a LOCAL directory; every file under it (recursive) is uploaded. | |
| overwrite | No | Overwrite existing files (otherwise an already-present file is skipped). | |
| includeExt | No | Only upload files with these extensions (no dot, case-insensitive), e.g. ["webp","png","jpg"]. Omit to upload every file. | |
| remoteRoot | Yes | Destination directory RELATIVE TO the Foundry `Data/` root, e.g. "worlds/your-world/assets/tom-cartos/<id>/tiles". Each local file lands at remoteRoot/<path-relative-to-localRoot>. Never inside a world's `data/` (LevelDB) dir. |