SuperAPI AI 工具集

extension-object-storage

智能体与模型

查看项目

更新于 10-16 03:42

技能介绍

用途:为 Caffeine AI 应用添加链下文件/对象存储,并在链上保存引用。后端仅存引用,实际上传与下载由前端处理,适合图片库、视频库、文档与其他批量数据场景。

主要能力:提供 MixinObjectStorage 混入,管理文件操作;用 Storage.ExternalBlob 跟踪上传文件;前端提供 ExternalBlob 类,支持 getBytes、getDirectURL、fromURL、fromBytes、withUploadProgress。getDirectURL 用于图片/视频内联展示,getBytes 用于带原文件名的另存下载。

必要用法:四步均不可少,否则上传时报 403 Forbidden: Invalid payload。一,在 mops.toml 的 [dependencies] 添加 caffeineai-object-storage;二,在 main.mo 中 include MixinObjectStorage(),导入路径必须为 "mo:caffeineai-object-storage/Mixin";三,所有表示文件的字段必须使用 Storage.ExternalBlob,不能用 Text;四,前端安装 @caffeineai/object-storage,并在调用处使用 ExternalBlob.fromBytes(bytes, file.type, file.name)。仅装 npm 包不装 mops 包会导致静默上传失败,必须同时安装。

限制与注意:不要自行实现 _immutableObjectStorageCreateCertificate 等平台保留方法,也不要使用相对路径导入。getDirectURL 返回无扩展名的不透明代理 URL,禁止据此判断文件类型,应使用后端 filename 或 mimeType 字段。上传时上传进度回调会提供百分比。若出现 403,检查 mops 依赖、Mixin 引入与部署。资料提及的所有者 cashier 注册问题需重新部署后端触发自愈。其他费用、平台细节暂未提供。