使用 Cloudflare R2 存储桶搭建图床
Cloudflare R2 是一种经济高效的对象存储服务,非常适合用来搭建图床。以下是详细步骤:
1. 创建 R2 存储桶
- 登录 Cloudflare 仪表板
- 导航到 R2 → 创建存储桶
- 输入存储桶名称(如
my-image-bucket
)
- 选择存储区域(可选)
- 点击 创建存储桶
2. 配置存储桶权限
- 在存储桶设置中,找到 公开访问 选项
- 选择 允许 以启用公共读取访问
- 保存设置
3. 上传图片
通过控制台上传:
- 点击 上传 按钮
- 选择要上传的图片文件
- 等待上传完成
通过 API 上传(编程方式):
curl -X PUT \
"https://<account-id>.r2.cloudflarestorage.com/my-image-bucket/cat.jpg" \
-H "Authorization: Bearer <api-token>" \
-H "Content-Type: image/jpeg" \
--data-binary "@/path/to/local/cat.jpg"
4. 获取图片访问 URL
上传后,图片的公开 URL 格式为:
https://<bucket-name>.<account-id>.r2.dev/图片路径
或使用自定义域名:
https://images.yourdomain.com/图片路径
5. 设置自定义域名(可选)
- 添加一个 CNAME 记录指向
<account-id>.r2.dev
- 在 R2 设置中配置自定义域名
- 等待 DNS 生效
6. 自动上传工具(可选)
可以使用以下工具实现自动上传:
- PicGo:配置 R2 作为图床
- ShareX:自定义上传目标
- 自己编写脚本使用 R2 API
7. 访问控制(可选)
如果需要限制上传:
- 创建 API 令牌(R2 读写权限)
- 在应用中只使用此令牌上传
- 保持存储桶公开读取
成本说明
- 免费额度:每月 10GB 存储 + 1000 万次读取操作
- 超出后:$0.015/GB 存储,$0.36/百万次读取
优势
- 无出口流量费用(与 AWS S3 不同)
- 全球 CDN 加速
- 高可靠性
- 与 Cloudflare 其他服务无缝集成
这样你就拥有了一个高性能、低成本的图床解决方案!