SuperAPI AI 工具集

cloudinary-upload

部署与运维

查看项目

更新于 10-16 01:17

技能介绍

用途:用官方 Cloudinary CLI(cld)把本地文件或图片上传到项目 Cloudinary CDN(cloud 名为 cyeam),复刻 /admin/upload 的流程(参考 controllers/admin_controller.go 与 util/file_util.go)。图片在存储时转换为 webp,并上传到目标文件夹,目录为扁平结构,不保留原层级。

前置条件:首次使用时若缺少官方 CLI(cld),脚本会自动通过 pip3 install --user cloudinary-cli 安装。凭证通过 CLOUDINARY_URL 提供,不要硬编码密钥:

export CLOUDINARY_URL=cloudinary://<api_key>:<api_secret>@<cloud_name>

本项目 cloud name 为 cyeam,key/secret 可从 controllers/admin_controller.go 的常量获取或询问用户,运行前先导出上述 URL,并用 cld config 验证是否显示 cyeam cloud。

上传单个或多个文件: bash .agents/skills/cloudinary-upload/scripts/upload.sh -f uploads file1.png file2.jpg 其中 -f FOLDER 指定目标资源文件夹(默认 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 转换。

底层命令为: cld uploader upload <path> public_id=<name> asset_folder=<folder> overwrite=True format=webp

常见错误:缺少 CLOUDINARY_URL 时脚本会报错退出,需先导出;如需保留目录结构,应直接使用 cld upload_dir <dir> -f <folder>,这些脚本刻意做扁平化;webp 转换只对图片扩展名生效,其他文件原样上传。