跳转到正文

English core guides · 历史记录保留中文

文件上传 ​

当前实现 ​

私有文件 API 与定时清理已通过本地 Workers 验收;文件工作台和两个生成站的完整流程仍待 I2,云端资源未部署。配置、请求格式、迁移、错误代码及排查以私有文件存储教程为准。

元数据使用 tRPC,二进制使用 Hono。服务端原生 R2 绑定负责读写,当前无需 S3 访问密钥、浏览器直传许可或桶 CORS。文件名与客户端 MIME 只作提示,实际内容需通过检查。

扩展新类型 ​

先确认真实产品是否需要服务器保存文件;纯客户端处理可以避免上传。增加 PDF、SVG、视频或其他输入时,在 apps/api/lib/files/validation.ts 增加实际格式检查,明确最大大小、可执行内容的下载方式和保留策略,再补前端与真实样例验收。仅添加 MIME 字符串或上传控件不能构成安全支持。

首版文件归个人所有,切换组织不改变所有权。团队共享需另定义真实成员授权;异步任务的文件引用、删除与结果保留在 I4 接入,当前不能将正在执行的任务当成已有功能。外部 URL 输入还需独立实现网络范围、重定向、大小和超时限制。

故障与验证 ​

数据库与 R2 之间使用显式补偿,不能共同事务提交。失败上传不可下载,确认对象删除后才释放额度;失败删除保留占用,由定时批次重试。孤立对象扫描只处理本站前缀并使用持久化游标,未知对象保留至少一小时。

运行 bun files:validate 验证真实本地 Worker 的四种类型、下载字节、摘要、跨账号拒绝、过期拒绝、删除和定时清理。并发配额与故障恢复另由实际迁移及 R2 测试覆盖。云端绑定、触发和限制需要真实环境单独验收。

供语言模型读取:llms.txt · llms-full.txt
采用 MIT 许可证。