cloudflare-r2

TotalClaw 作者 totalclaw

使用 Wrangler CLI 将文件上传到 Cloudflare R2 存储。当需要将图像、视频或文件上传到 R2 以进行 CDN 托管或管理 R2 存储桶内容时使用。在“上传到 R2”、“上传到 Cloudflare”、“上传到 R2”、“存到 CDN”时触发。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~xiaoyaner0201-cloudflare-r2
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~xiaoyaner0201-cloudflare-r2/file -o xiaoyaner0201-cloudflare-r2.md
## 概述(中文)

使用 Wrangler CLI 将文件上传到 Cloudflare R2 存储。当需要将图像、视频或文件上传到 R2 以进行 CDN 托管或管理 R2 存储桶内容时使用。在“上传到 R2”、“上传到 Cloudflare”、“上传到 R2”、“存到 CDN”时触发。

## 原文

# Cloudflare R2

Upload and manage files in Cloudflare R2 storage buckets.

## Prerequisites

- `wrangler` CLI: `npm install -g wrangler`
- R2 config at `~/.config/cloudflare/r2.json`

## Config Format

```json
{
  "bucket": "your-bucket-name",
  "accountId": "your-account-id",
  "publicDomain": "pub-xxx.r2.dev",
  "apiToken": "your-api-token"
}
```

## Quick Upload

Single file:
```bash
scripts/r2-upload.sh <local-file> [remote-path]
```

Batch upload:
```bash
scripts/r2-upload.sh <directory> <remote-prefix>
```

## Manual Commands

```bash
# Set credentials
export CLOUDFLARE_ACCOUNT_ID="$(jq -r .accountId ~/.config/cloudflare/r2.json)"
export CLOUDFLARE_API_TOKEN="$(jq -r .apiToken ~/.config/cloudflare/r2.json)"
BUCKET=$(jq -r .bucket ~/.config/cloudflare/r2.json)

# Upload
wrangler r2 object put "$BUCKET/path/to/file.png" --file local.png --remote

# List objects
wrangler r2 object list $BUCKET --prefix "path/" --remote

# Delete
wrangler r2 object delete "$BUCKET/path/to/file.png" --remote
```

## Public URL

After upload, files are accessible at:
```
https://<publicDomain>/<remote-path>
```

Example: `https://pub-xxx.r2.dev/article/image.png`