R2 文件上传
使用 wrangler CLI 上传文件到 Cloudflare R2 对象存储。
环境变量
| 变量 | 说明 |
|---|---|
$R2_BUCKET |
R2 存储桶名称(也可由用户指定) |
$R2_DOMAIN |
自定义域名(可选,未设置则用默认 URL) |
核心流程
1. 定位文件
# 用户提供文件名时,查找文件
find ~ -name "<filename>" -type f 2>/dev/null | head -5
# 验证文件存在
ls -la "<file-path>"
2. 生成路径
R2_PATH="agent/$(date +%Y%m%d)/$(basename "<file>")"
3. 执行上传
wrangler r2 object put "$R2_BUCKET/$R2_PATH" --file "<file-path>" --remote
4. 返回 URL
# 有自定义域名
echo "https://$R2_DOMAIN/$R2_PATH"
# 无自定义域名(默认)
echo "https://pub-<account-id>.r2.dev/$R2_PATH"
从 URL 直接上传
curl -sL "<url>" | wrangler r2 object put "$R2_BUCKET/$R2_PATH" --file - --remote
常用管理命令
# 列出 buckets
wrangler r2 bucket list
# 删除对象
wrangler r2 object delete "<bucket>/<path>/<file>" --remote
高级功能与错误处理
- 批量上传、并发上传: 见 references/advanced.md
- 错误处理、重试机制、特殊路径: 见 references/error-handling.md
