🎉 零成本搭建个人图床!Cloudflare R2 完整实战教程
适合人群:博主、开发者、公众号运营者 关键词:免费图床 | Cloudflare R2 | 永久存储 | 全球 CDN

💡 为什么选择 Cloudflare R2?
传统图床的痛点:
- ❌ 免费额度用完就收费
- ❌ 访问速度慢,经常失效
- ❌ 有水印或广告
- ❌ 隐私安全无保障
Cloudflare R2 的优势:
- ✅ 10GB 永久免费存储
- ✅ 通过 Workers 访问零流量费
- ✅ 全球 CDN 加速,访问飞快
- ✅ 完全掌控,数据安全
- ✅ 无限次上传/下载(免费额度内)
🚀 搭建步骤(5步完成)
第一步:注册 Cloudflare 账号
- 访问 Cloudflare Dashboard
- 注册并验证邮箱
- 登录到控制台
💡 提示:无需信用卡,完全免费
第二步:创建 R2 存储桶
| |
✅ 存储桶创建成功!
第三步:创建 Worker
| |
第四步:编辑 Worker 代码
部署后点击「编辑代码」,删除默认代码,粘贴以下代码:
| |
点击「保存并部署」
第五步:绑定 R2 存储桶
这是最关键的一步!
| |
⚠️ 注意:变量名必须是 MY_BUCKET,与代码中的 env.MY_BUCKET 对应!
🎨 创建上传页面
创建一个 upload.html 文件:
| |
⚠️ 记得修改 UPLOAD_API 为你的 Worker 地址!
🧪 测试验证
1. 测试 Worker 是否运行
访问:https://your-worker.workers.dev
应该看到:图床 API 运行中 ✅
2. 测试上传功能
- 用浏览器打开
upload.html - 拖拽或点击上传图片
- 成功后会显示图片 URL 和 Markdown 格式
3. 测试图片访问
复制上传后的 URL,在浏览器中打开,应该能看到图片
🔥 常见问题排查
问题1:500 错误
| |
解决方案:
- 检查 Worker 的「绑定」标签页
- 确认变量名是
MY_BUCKET(区分大小写) - 确认已选择正确的 R2 存储桶
- 重新部署 Worker
问题2:上传失败
检查清单:
- Worker 代码是否正确部署
- R2 绑定是否配置
- 上传页面的 API 地址是否正确
- 查看 Worker 日志(Dashboard → Worker → 日志)
问题3:图片无法访问
可能原因:
- Worker 路由配置问题
- R2 存储桶权限问题
- 文件名或路径错误
🎯 进阶优化
1. 绑定自定义域名
| |
2. 添加文件大小限制
在代码中添加:
| |
3. 限制文件类型
| |
📊 成本分析
| 项目 | 免费额度 | 超出费用 |
|---|---|---|
| 存储空间 | 10 GB | $0.015/GB/月 |
| A 类操作(上传) | 100万次/月 | $4.50/百万次 |
| B 类操作(下载) | 1000万次/月 | $0.36/百万次 |
| Worker 请求 | 10万次/天 | 免费 |
💡 结论:个人使用基本不会超出免费额度!
✨ 最终效果
- ✅ 上传速度快,访问稳定
- ✅ 支持拖拽上传、自动生成 Markdown
- ✅ 全球 CDN 加速,访问飞快
- ✅ 完美适配 Obsidian、Notion、公众号等
💬 写在最后
Cloudflare R2 图床适合:
- 📝 博主:写作配图
- 👨💻 开发者:项目文档
- 📱 公众号运营:文章插图
- 🎓 学生:笔记管理
零成本、稳定可靠,再也不用担心图片失效或限速了!
觉得有用?点赞+在看,让更多人看到! 🌟
我是纯纯小白小溪!之前折腾公众号配图+发文章,半天时间耗在「找图床→传图→调格式」的死
循环里…
直到遇到Claude Code!它像个耐心的技术搭子✨:
手把手教我配置Cloudflare R2图床,一步错都不行的那种!
还能自动生成Obsidian笔记存教程,再也不用手抄步骤~
图床搞定后直接一键发公众号,效率从「半天熬秃头」缩到「1小时搞定摸鱼去」!
原来用对工具,「麻烦的小事」真的能变「一键快乐」!
毕竟啊——这个时代,把时间省下来摸鱼、冥想、养生、少花钱多攒钱,才是真正的「生命意义」
~