R2文件上传工具

3小时前更新 2 00
R2文件上传工具R2文件上传工具
R2文件上传工具

技能简介

该技能用于将文件上传Cloudflare R2、AWS S3或其他S3兼容存储,并生成带签名的临时下载链接。支持多桶配置、自动内容类型识别,默认链接有效期5分钟。

能做什么

  • 上传本地文件到R2/S3/MinIO等对象存储
  • 生成限时访问的预签名下载URL
  • 管理多个存储桶配置,按需切换
  • 自定义文件路径与链接过期时间
  • 列出近期上传记录或删除指定文件

使用说明

安装步骤:

  1. 克隆技能仓库并进入目录
  2. 执行 npm install 安装依赖
  3. 编译构建:npm run build

配置文件:创建 ~/.r2-upload.yml 或在环境变量 R2_UPLOAD_CONFIG 中指定路径:

default: my-bucket
buckets:
  my-bucket:
    endpoint: https://<account_id>.r2.cloudflarestorage.com
    access_key_id: your_key
    secret_access_key: your_secret
    bucket_name: my-bucket
    region: auto

基础用法:

  • 上传文件:r2-upload /path/to/file.pdf
  • 指定路径:r2-upload file.pdf --key uploads/2026/file.pdf
  • 切换存储桶:r2-upload file.pdf --bucket personal
  • 调整有效期:r2-upload file.pdf --expires 24h(支持s/m/h/d单位)
  • 公开访问:r2-upload file.pdf --public(无签名)

输入与输出

见下方输入与输出表格。

项目内容
输入本地文件路径;可选参数包括存储桶名、自定义对象键、过期时长(如24h/300s)、是否公开访问
输出预签名下载URL(含签名参数)、文件在存储桶中的完整路径、自动识别的Content-Type、链接失效时间
适用人群需要将文件快速上传云端并生成临时分享链接的开发者;使用Cloudflare R2或AWS S3的技术团队
不包含存储桶创建、IAM权限配置、文件下载后的本地处理、访问统计与审计功能

 

风险提示

  • 密钥信息存储于本地YAML文件,需设置适当文件权限避免泄露
  • 预签名URL在有效期内可被任意持有方访问,敏感文件建议缩短过期时间
  • 默认添加UUID前缀防止文件名冲突,但同一UUID下重复上传会覆盖
  • 公共URL无访问控制,请确认文件可公开后再使用--public参数

来源信息

原始链接:https://github.com/openclaw/skills/tree/main/skills/julianengel/r2-upload/SKILL.md
来源类型:GitHub仓库

数据统计

相关导航

暂无评论

none
暂无评论...