Automator通过串联“获取路径→执行命令→处理结果”实现文件上传,核心是将本地操作与curl、qshell、coscli等命令行工具绑定。需预先配置对应CLI工具并确保其可被终端调用,再创建快速操作工作流:先拷贝文件路径,再运行Shell脚本循环上传并提取URL至剪贴板,最后可在Finder右键调用。

Automator 本身不直接上传文件,它靠串联“获取路径 → 执行命令 → 处理结果”完成自动化上传。核心是把本地操作和命令行工具(如 curl、qshell、coscli)绑在一起,用图形化流程替代手动敲命令。
准备命令行上传工具
不同服务需要对应 CLI 工具,并确保能在终端里直接运行:
- SM.MS 或 ImgBB:系统自带 curl 就够,无需额外安装
- 腾讯云 COS:装 coscli 或 qcloud-cos Python SDK,填好 secret_id、region、bucket
- 七牛云:下载配置 qshell,运行
qshell account <ak> <sk> name登录 - 确保工具路径在
/usr/local/bin/或已加入$PATH,否则 Automator 找不到
搭建上传工作流
新建一个“快速操作”,输入设为“文件或文件夹”,然后按顺序添加三个模块:
- 拷贝至剪贴板:先拿到选中文件的完整路径(供后续脚本读取)
-
运行 Shell 脚本:语言选
/bin/bash,传入方式设为“作为自变量”,脚本内用for f in "$@"循环处理每个文件 - 可选:显示通知 或 显示结果:便于确认是否成功(非必需但实用)
写上传脚本的关键点
脚本要能上传、提取 URL、再写入剪贴板,常见写法示例:
- SM.MS:
curl -F "smfile=@$f" https://sm.ms/api/v2/upload | jq -r '.data.url' | pbcopy - 转 Markdown 格式:
printf "" "$(pbpaste)" | pbcopy(执行完再粘贴就是带 ![]() 的图片链接) - 多文件时避免混贴:用
printf拼接,每条 URL 单独一行或加换行符 - 加简单错误判断,比如
if [ $? -ne 0 ]; then echo "上传失败"; exit 1; fi
保存并日常使用
导出为“快速操作”,勾选“在访达中显示”。之后在 Finder 里选中任意文件,右键 → “服务” → 点击你命名的操作(如“上传到图床”),几秒后链接就已在剪贴板中,可直接粘贴进笔记、聊天或 Markdown 编辑器。

















