360 Secure SkillHub
360 安全技能中心

r2-uploader

这是一款基于wrangler CLI的Cloudflare R2对象存储上传工具,核心支持单文件上传、远程URL直接上传及批量上传,还提供存储桶管理、对象删除等功能。当用户提及上传到R2/Cloudflare等触发词时触发,可接受本地文件路径、远程URL作为输入,支持指定存储桶,上传完成后返回公开访问URL,可通过环境变量配置自定义域名和默认存储桶。

redisread
redisread
热度 48.94
最近更新 2026-05-11 17:34:40
分类:自动化依赖:代码执行应用场景:自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add r2-uploader
Metadata
name
r2-uploader
description
使用 wrangler CLI 上传文件到 Cloudflare R2 对象存储,返回公开访问 URL。支持单文件上传、从远程 URL 直接上传、批量上传。当用户说"上传到 R2"、"传到 Cloudflare"、"存到 R2"、"上传图片/文件/附件"并提到 R2 或 wrangler 时使用。触发词:上传、R2、Cloudflare、存储、wrangler、bucket、对象存储、CDN 上传。

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

高级功能与错误处理