文件与多云存储
2026/10/26大约 1 分钟
文件与多云存储
文件库在 FileController.php(/sys/file),存储驱动配置在 StorageController.php(/sys/storage)。底层由 AdapterRegistry(app/basic/AdapterRegistry.php)统一管理驱动。
存储驱动 /sys/storage
标准 CRUD + changeStatus,切换默认驱动。内置驱动:local、oss、qiniu、cos、s3(云驱动指向基座扩展子类,继承 Tinywan 并补齐统一删除契约)。驱动的显示名与凭证表单走配置管理体系声明(组 app_name='storage'、code=驱动类型)。
插件可通过 AdapterRegistry::register($type, $adapterClass, $configResolver, $owner) 追加自定义驱动,见存储扩展。
文件库 /sys/file
标准 CRUD + changeStatus,另有:
| 方法 | 作用 |
|---|---|
getFileTree | 目录树(文件管理器左侧结构) |
lock | 锁定/保护文件 |
checkMd5 | 秒传校验:命中同 MD5 直接复用 |
merge | 大文件分片合并 |
文件按类型归类别(getFileType() 依后缀分 图片/音频/视频/文档/压缩包/其它)。上传落位、URL 生成走当前默认驱动;本地相对地址经 withAssetDomain() 补域名。
插件侧复用
- 选择/上传文件用 Bridge
picker.file(返回{cancelled:true}表示取消),见 Bridge 能力。 - 需要接管"上传配置解析"这一扩展点时,实现
ServiceProviderInterface(KEY 如upload.config)并经ServiceRegistrybind/extend,见服务接管。
关联
- 远程小部件加载、插件图标下载受 URL 白名单约束(拒内网、仅 http/https),见远程小部件。
