用途:该技能面向 Directus 的文件(上传与资产)域,目标是在 CMS 集成媒体时实现可靠且有限额的上传、受控访问(公开与私有)、以及在前端可预测地消费资产。资料指出文件往往带来成本与风险(隐私、缓存、性能),因此应按独立领域处理,明确权限与处理管线。
主要能力与要点:
- 上传:在 Directus 中设置大小/类型限制,并在应用中处理错误;建议流程为客户端预校验(大小、MIME、扩展名)、上传、确认引用该文件的条目(创建/更新)。若上传成功后条目写入失败,需定义清理或保留策略。
- 权限与隐私:核心规则是私有文件不得以无控制的“开放”URL 交付。需检查 directus_files(或文件集合)的读取权限,以及项目的路径/资产交付权限;若需按用户保护,应使用与令牌/会话兼容的机制(遵循部署默认方式)。
- 资产服务与缓存:优先使用支持 CDN 缓存的 URL/路径;按类型配置响应头(静态图片长缓存、动态资产短缓存);UI 中适度使用懒加载,但需保证首屏(LCP)内容不缺失媒体。
- 变换与变体:若项目使用 transform/derivations,应统一尺寸与格式(如图片用 WebP/AVIF),并确保应用按场景(列表 vs 主视觉)选用正确变体。
- 与应用集成:在应用中处理 uploading、failed、retry 等状态;仅向 UI 暴露必要的文件 id/reference、最终 URL(或 URL 构建器)及必要元数据(名称、大小、MIME)。
适用场景:将图片、视频、PDF 等媒体集成到 Directus CMS 并通过前端 UI 消费的项目。
限制与反模式:资料列出应避免无控制地暴露私有资产 URL、上传时缺少大小与 MIME 处理(可能成为攻击向量)、加载媒体时忽略 LCP/CLS、以及未确认文件持久化/条目关联就引用文件。完成标准为:上传与条目关联一致、私有权限有效(未授权用户无法访问)、UI 以缓存与降级方式消费资产。其他如具体定价、平台支持或安装命令,暂未提供。