配置指南
项目中关于R2存储相关配置
Created: 12/14/2025
Updated: 03/05/2026
写在前面
使用R2之前,你最好有个VISA卡:例如 招商全币种信用卡,因为用存储虽然有免费额度,但是Cloudflare担心你可能用超,所以需要录入下支付方式才能使用R2;
项目使用Cloudflare R2支撑图片生成的存储
Cloudflare R2 亮点:免费量大
| 项目 | 每月免费额度 | |
|---|---|---|
| 标准存储容量 | 10 GB-month(等于每月最高可存 10 GB) | |
| Class A 操作(如写入/列出对象) | 1,000,000 次/月 | |
| Class B 操作(如读取对象) | 10,000,000 次/月 | |
| 出站流量(Egress) | 始终免费(无论使用多少) |
项目中需要先使用Admin权限账户去/admin/settings/storage更新R2配置,要不然会像下面报错

访问下面链接
https://www.cloudflare.com/zh-cn/
登录后,按照下图点击创建bucket


在本地记录下你创建的bucket name
配置Custom domain


注意:如果你没有域名,需要先买域名:购买便宜域名
在本地记录下你创建的 domain
配置R2_ACCESS_KEY_ID、R2_SECRET_ACCESS_KEY

选择Create User API token


点击”Create User API Token“

然后访问http://localhost:3000/admin/settings/storage将其配置进去
下图中
Cloudflare Access Key:对应上面的Access Key ID
Cloudflare Secret Key: 对应上面的Secret Access Key
Bucket Name: 对应上面新建的bucket name
Endpoint: 对应上面的Use jurisdiction-specific endpoints for S3 clients:下的Default
Domain: 对应上面你设置的Custom domain

保存后,此时重启服务 pnpm run dev,可以在http://localhost:3000/admin/settings/general 测试图片文件上传,提示上传成功后可以即时的看到图片,当然也可以去CloudflareR2上去看下这张图是否已经上传到
