高级技巧
命令行上传 2.1.0+
PicGo在2.1.0版本开始支持命令行调用PicGo客户端进行上传了。
上传的命令是 upload (用于上传剪贴板图片)以及 upload xxx.jpg 用于上传具体路径的图片。
Windows
Windows可以通过 你安装的PicGo的路径\PicGo.exe upload 来调用上传。
macOS
macOS可以通过 /Applications/PicGo.app/Contents/MacOS/PicGo upload 来调用上传。
Linux
Linux可以通过 你安装的PicGo的路径/PicGo.AppImage upload 来调用上传。
PicGo-Server的使用 2.2.0+
PicGo在2.2.0版本开始内置了一个小型的服务器,用于接收来自其他应用的HTTP请求来上传图片。
默认监听地址: 127.0.0.1,默认监听端口:36677
HTTP调用上传剪贴板图片
- method:
POST - url:
http://127.0.0.1:36677/upload(此处以默认配置为例)
即可上传。
返回的数据:
{
"success": true, // or false
"result": ["url"]
}
HTTP调用上传具体路径图片
- method:
POST - url:
http://127.0.0.1:36677/upload(此处以默认配置为例) - request body:
{list: ['xxx.jpg']}必须是JSON格式

{
"success": true, // or false
"result": ["url"]
}HTTP 调用上传表单图片 2.4.0+
从 2.4.0 版本开始,PicGo-Server 支持通过表单上传图片文件了。感谢 @happy-game 的贡献!
- method:
POST - url:
http://127.0.0.1:36677/upload(此处以默认配置为例) - request body: form-data,key为
files,value为图片文件,可以多张图片。

指定本次上传的图床配置 3.0.3+
从 PicGo GUI 3.0.3 开始,可以在 POST /upload 的 URL 中指定已经保存的图床配置,无需先在界面中切换默认图床。这次选择只对本次请求生效,不会修改默认图床、各图床当前选中的配置或本地配置文件。下一次不带参数上传时,仍使用原来的默认配置。
请先在 PicGo 中保存所需的图床配置,并确保 PicGo 正在运行且已开启 PicGo-Server。以下参数适用于上面的三种上传方式:剪贴板、本地文件路径和表单文件上传。参数放在 URL 中,请求体仍按原来的格式传入。
| URL 参数 | 说明 |
|---|---|
uploader | 图床类型标识,例如 github、qiniu、picgo-cloud。传入后只在该类型内查找配置。 |
configName | 已保存的配置名称,推荐日常使用。支持中文,匹配时去除首尾空白并忽略大小写。 |
configId | 已保存配置的 _id,精确匹配。配置重命名后 ID 保持不变。 |
这里的 uploader 是图床类型标识,configName 才是你给某份配置起的名称。例如 GitHub 图床下保存了一份名为 Work 的配置,可以使用 ?uploader=github&configName=Work。
调用示例
以下示例使用默认地址和端口,请将配置名称、ID 和文件路径替换为实际值。
# 按配置名称上传剪贴板图片。
curl -X POST 'http://127.0.0.1:36677/upload?uploader=github&configName=Work'
# 按配置名称上传本地文件。
curl -X POST 'http://127.0.0.1:36677/upload?uploader=github&configName=Work' \
-H 'Content-Type: application/json' \
-d '{"list":["/absolute/path/image.png"]}'
# 按配置名称上传表单文件。
curl -X POST 'http://127.0.0.1:36677/upload?uploader=github&configName=Work' \
-F 'files=@/absolute/path/image.png'
# 也可以通过配置 ID 指定上传配置。
curl -X POST 'http://127.0.0.1:36677/upload?configId=your-config-id' \
-H 'Content-Type: application/json' \
-d '{"list":["/absolute/path/image.png"]}'中文配置名可以使用 URLSearchParams 编码。名称中的空格、+、& 等字符也会被正确处理,避免手动拼接 URL 时被误当成参数分隔符:
const url = new URL('http://127.0.0.1:36677/upload')
url.searchParams.set('uploader', 'github')
url.searchParams.set('configName', '配置一')
const response = await fetch(url, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ list: ['/absolute/path/image.png'] })
})
const result = await response.json()配置查找规则
| 传参情况 | 使用哪份配置 |
|---|---|
| 三个参数都不传 | 沿用原来的默认上传配置。 |
只传 uploader | 使用该图床当前选中的配置;如果没有有效的当前配置,则取该类型的第一份配置。 |
uploader + configName 或 configId | 在指定图床类型内查找。 |
只传 configName 或 configId | 在所有已注册图床类型中查找,结果必须唯一。 |
同时传 configId 和 configName | 优先使用唯一匹配的 ID;ID 找不到或不唯一时,再按名称查找。传了 uploader 时,两次查找都限定在该类型内。 |
不同图床可以保存同名配置。如果只传 configName=Work,而 GitHub 和七牛各有一份 Work,需要再传入 uploader 来确定使用哪一份。最终找不到配置或匹配到多份时会报错,不会自动改用默认图床。
只传图床类型但该类型没有已保存的配置时也会报错。uploader=picgo-cloud 可以直接使用当前登录状态,但这些参数不能用来切换 PicGo Cloud 账号。
如果需要使用配置 ID,可以通过 PicGo 设置中的「打开配置文件」查看 uploader.<type>.configList,找到目标配置的 _id。这些参数只用于引用已保存的配置,不用于在 URL 中传入 token 等图床凭据。
参数错误
参数不能为空或只有空白,同一参数也不能在 URL 中重复出现。参数无效、图床类型未注册、配置不存在或无法唯一定位时,服务返回 HTTP 400,code 和 message 会说明原因。例如:
{
"success": false,
"result": [],
"items": [],
"code": "UPLOAD_CONFIG_AMBIGUOUS",
"message": "配置名称匹配到多个图床类型,请指定 uploader。"
}上面的 message 为示意,实际内容会按语言设置说明查找范围与匹配结果。错误码列表见 PicGo-Core 上传参数错误。成功时仍返回原有的上传结果,result 为图片 URL 列表。
PicGo手机客户端联动 2.3.0+
如果你想在手机上使用 PicGo,可以安装 flutter-picgo,感谢 @hackycy 的贡献!
可以通过点击主窗口左下角信息栏按钮,找到「生成图床配置二维码」菜单

然后通过 flutter-picgo 的扫码功能,一键导入图床配置。
PicGo 修复工具箱 2.4.0+
从 2.4.0 版本开始,在主界面的 i 图标按钮中,有一个「PicGo 修复工具箱」功能,当你遇到 PicGo 使用异常的时候,可以尝试用修复工具箱自主排查和修复问题。


