文件分享(Cloudflare R2)
上传文件到 Cloudflare R2,生成带有效期的下载链接。下载走 R2 直链,不消耗 Vercel 流量。
一、创建 R2 存储桶
- 登录 Cloudflare 控制台 → 左侧 R2
- 点 Create bucket → 起名(如
cfos-files)→ 创建 - 记下桶名
二、创建 R2 API 令牌
- R2 页面右上角 → "Manage R2 API Tokens"
- Create API token → 权限选 Object Read & Write
- 拿到:
- Access Key ID
- Secret Access Key(只显示一次,立即复制)
三、找 Account ID
- Cloudflare 控制台右上角或右侧栏能看到 Account ID
- 复制
四、配置到 Vercel
添加环境变量:
R2_ACCOUNT_ID=你的Account ID
R2_ACCESS_KEY_ID=你的Access Key ID
R2_SECRET_ACCESS_KEY=你的Secret Access Key
R2_BUCKET=你的桶名
Redeploy 后生效。侧边栏 文件分享 就能用。
功能说明
- 上传文件,可选有效期(1/7/14/30 天)
- 复制/打开下载链接
- 到期自动删除(访问时惰性删除 + 每日 cron 清理)
- 下载走 R2 预签名直链,不占 Vercel 流量
常见问题
| 现象 | 原因 |
|---|---|
| 上传报"R2 未配置" | 4 个 R2 变量没配全 |
| 上传失败 | R2 令牌权限不对(需要 Read & Write) |
| 链接过期 | 有效期到了,重新上传 |
