网通社科技快报

9263张图片迁入R2 仓库体积从2.8GB降至68MB

个人项目“生图灵感库”因静态资源达20379个,触发Cloudflare Workers Free计划20000文件上限限制(错误码10304),导致部署失败。该项目原采用代码与9263张AI生成样张一体化托管于GitHub仓库的极简架构,虽开发高效,但随素材增长暴露出仓库膨胀(2.8GB)、拉取耗时、版本回溯成本高及平台限制等问题。作者决定解耦架构:保留HTML/JSON/脚本由GitHub+Workers管理,将全部图片按原路径结构迁移至Cloudflare R2,并通过独立域名提供访问;前端动态拼接R2 URL,确保用户无感知切换。迁移过程严格维持目录结构与文件命名,仅变更存储位置,保障去重、色彩推荐等算法逻辑不变。作者利用GPT-6.1辅助编写Python迁移脚本、解析日志、校验上传完整性,并实现分支切换时的图片引用交叉验证。技术操作包括:批量上传图片并生成MD5映射索引文件;修改构建配置跳过图片打包;将历史统计逻辑迁移至R2对象版本快照机制。改造后,仓库体积降至68MB,新成员克隆时间从分钟级缩短至秒级,单次部署资产数量大幅下降,彻底规避平台限制,本地开发效率同步提升。网站核心功能与多语言、相似度推荐等体验保持不变。此次升级未引入数据库或重写框架,以轻量方式实现可持续演进,体现中小项目在内容膨胀期的务实优化路径。