文件分享(Cloudflare R2)

上传文件到 Cloudflare R2,生成带有效期的下载链接。下载走 R2 直链,不消耗 Vercel 流量。

一、创建 R2 存储桶

  1. 登录 Cloudflare 控制台 → 左侧 R2
  2. Create bucket → 起名(如 cfos-files)→ 创建
  3. 记下桶名

二、创建 R2 API 令牌

  1. R2 页面右上角 → "Manage R2 API Tokens"
  2. Create API token → 权限选 Object Read & Write
  3. 拿到:
    • Access Key ID
    • Secret Access Key(只显示一次,立即复制)

三、找 Account ID

  1. Cloudflare 控制台右上角或右侧栏能看到 Account ID
  2. 复制

四、配置到 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)
链接过期有效期到了,重新上传