SuperAPI AI 工具集

cloud-storage-web

智能体与模型

查看项目

更新于 10-16 06:52

技能介绍

用途:面向浏览器/Web 应用,通过 CloudBase Web SDK(@cloudbase/js-sdk)完成云存储对象的上传、下载、临时 URL 生成、删除与文件管理。适用于前端代码中出现 uploadFile、getTempFileURL、deleteFile、downloadFile 等场景。不适用于小程序文件 API、后端或智能体侧 MCP 直连存储管理、静态网站托管部署(manageHosting)以及数据库操作。

主要能力:初始化 Web SDK 后,可用 app.uploadFile() 上传、app.getTempFileURL() 获取临时预览/下载 URL、app.deleteFile() 删除、app.downloadFile() 触发浏览器下载。上传时 cloudPath 需含文件名,用 / 建立目录结构,可通过 onUploadProgress 显示进度。临时 URL 需指定 maxAge。

使用方式:先确认调用方为浏览器应用,使用共享 app 实例同步初始化一次,避免每个组件重复初始化。浏览器端存储请求需要 publishable accessKey:先调用 queryAppAuth(action="getPublishableKey"),为空则调用 manageAppAuth(action="ensurePublishableKey"),将密钥写入 .env.local 的 VITE_PUBLISHABLE_KEY,切勿硬编码。上传前必须确认目标存储桶已存在;PG/pgstore 模式下旧 NoSQL 桶不算有效 pgstore 桶,需先显式创建。PG 模式应使用 app.storage.from('covers').upload(key, file) 与 createSignedUrl,而非 app.uploadFile()/getTempFileURL()。公开桶可用 getPublicUrl 直链,私有桶用签名 URL。PG 模式还需通过 managePgDatabase 配置 storage.objects 的 RLS 策略,否则会返回 STORAGE_PERMISSION_DENIED。

限制与注意:需配置安全域名/CORS,本地开发要按实际 host:port 加入白名单,变更可能需数分钟生效。临时 URL 并非永久链接。出现 STORAGE_NOT_EXIST 或 STORAGE_BUCKET_NOT_FOUND 时应先修复环境侧存储资源,不要伪造 URL 或吞掉上传失败。业务表只存 bucket + key 或 SDK 解析出的最终 URL,不要手工拼接。具体收费、价格与平台支持范围资料暂未提供。