关于 cloudinary-upload
cloudinary-upload 使用官方 `cld` 命令行工具将文件上传到 Cloudinary,支持单文件和扁平目录上传。默认将图片转为 WebP,其他文件保持原样。
主要功能
- 01通过 `cld` 上传文件
- 02将目录内容上传至单一文件夹
- 03默认将图片转为 WebP
- 04可保留图片原格式
- 05覆盖同名 public_id
适用场景
- 01将图片上传到 Cloudinary 文件夹
- 02上传博客图片目录
- 03上传时保留原始格式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mnhkahn/ cyeam-cli --skill cloudinary-upload安装后在 Claude Code 中输入/cloudinary-upload确认已加载。
附带文件scripts/upload-dir.shscripts/upload.sh
详细介绍
Cloudinary 上传(官方 CLI)
使用官方 Cloudinary CLI(cld)复现 /admin/upload 流程(参见 controllers/admin_controller.go 和 util/file_util.go)。图片会在存储时转换为 webp,并上传到目标文件夹(采用扁平结构,不保留目录结构)。
前置条件
- 如果尚未安装,首次使用时会自动安装 官方 CLI(
cld)(通过pip3 install --user cloudinary-cli)。 - 通过
CLOUDINARY_URL提供凭据(不要硬编码密钥):
本项目的 cloud name 为export CLOUDINARY_URL=cloudinary://<api_key>:<api_secret>@<cloud_name>cyeam。从controllers/admin_controller.go中获取 key/secret,或向用户询问,然后在运行前导出上述 URL。 使用cld config验证(应显示 cyeam cloud)。
上传单个 / 多个文件
bash .agents/skills/cloudinary-upload/scripts/upload.sh -f uploads file1.png file2.jpg
-f FOLDER— Cloudinary 资源的目标文件夹(默认:uploads)-r— 保留原始格式(跳过 webp 转换)
每个文件上传时的 public_id 均为不带扩展名的文件名,并设置 overwrite=True(与现有后端相同)。图片会设置 format=webp;非图片文件保持原样。
上传目录(扁平结构)
bash .agents/skills/cloudinary-upload/scripts/upload-dir.sh -f blog-images ./my-images
将目录中的所有顶层文件上传到同一个目标文件夹。不会保留目录结构(根据项目偏好,采用扁平目标结构)。添加 -r 可跳过 webp 转换。
脚本的行为
| 行为 | 方式 |
|---|---|
| webp 转换 | 对图片使用 format=webp 上传参数 |
| 目标文件夹 | folder=<FOLDER> |
| 覆盖 | overwrite=True(与现有 /admin/upload 一致) |
| public_id | 不带扩展名的文件名 |
| 非图片文件 | 原样上传 |
底层命令为:
cld uploader upload <path> public_id=<name> asset_folder=<folder> overwrite=True format=webp
常见错误
- 缺少
CLOUDINARY_URL→ 脚本会报错退出。请先导出该变量。 - 保留目录结构 → 请改为直接使用
cld upload_dir <dir> -f <folder>; 这些脚本会有意将文件扁平化。 - 转换非图片文件 → 仅对图片扩展名应用 webp 转换;其他文件会原样上传。
评论
支持 Markdown