在 Typora 中用 PicGo 上传图片

2026-09-22 | 作者:Molunerfinn

在 Typora 中用 PicGo 上传图片

想在 Typora 里自动上传图片,先给 PicGo-Core 配置好图床。然后在 偏好设置 → 图像 中,把上传服务选为 Custom Command(自定义命令),填入 picgo upload。点击 验证图片上传选项,再把 插入图片时… 设为 上传图片,并勾选 对本地位置的图片应用上述规则。之后新粘贴的图片都会通过 PicGo-Core 上传,并替换为返回的 URL。

选择 PicGo-Core 还是桌面版

Typora 只保存图片的引用。一张粘贴进来的本地图片在你自己电脑上看着没问题,但把 Markdown 文件发给别人时就可能显示不出来。Typora 可以把图片交给外部上传工具,再用返回的 URL 替换本地路径。

PicGo 有两条路线。PicGo-Core 每次上传执行一次命令,上传完就退出;它不需要 PicGo 桌面应用,也不需要本地 Server。PicGo.app 用的是桌面应用,要求它的 Server 一直可用。PicGo-Core 在不同语言的 Typora 里表现最一致,所以本文推荐从它开始。

不管走哪条路线,图片都会传到你在 PicGo 里配置的服务商。开启自动上传之前,先看看这个服务商的隐私、过期和删除规则。上传成功并不代表 URL 一定是永久或公开的。

配置 PicGo-Core 命令

先安装一个当前的 Node.js LTS 版本。PicGo-Core 需要 Node.js 20.19.0 或更高版本;文档里写明的 Node.js 20 和 22 两条版本线的最低要求分别是 20.19 和 22.12。最新要求请查看 PicGo-Core 文档,然后安装命令行包:

npm install picgo -g

确认终端能找到这个命令,然后配置上传器:

picgo -v
picgo set uploader
picgo get uploader

第二条命令会进入上传器的交互式配置。保存后会选中这个上传器,picgo get uploader 用来确认当前选择。之后可以用 picgo use uploader <type> [configName] 切换配置。各个字段怎么填请参考对应服务商的文档,另外别把 access token 写进笔记或截图里。在接入 Typora 之前,先上传一张可以随手删掉的本地图片:

picgo upload /absolute/path/to/test-image.png

打开返回的 URL。如果这条命令就失败了,先去修上传器或服务商的问题;PicGo 配置本身有问题的话,Typora 也救不回来。

接着打开 Typora → 偏好设置 → 图像。把 上传服务 设为 Custom Command(自定义命令),填入:

picgo upload

这是 Typora 官方文档里针对全局安装的 PicGo-Core 给出的用法。点击 验证图片上传选项,Typora 应该会提示验证成功,并显示上传得到的 URL。如果提示找不到命令,就改用可执行文件的绝对路径加上 upload:macOS 或 Linux 下用 which picgo 查路径,Windows 下用 where picgo。路径里有空格时要加引号,例如 "/absolute/path with spaces/picgo" upload。

有些版本的 Typora 还会提供一个 PicGo-Core (command line) 选项,带有下载按钮或路径输入框。这个选项同样可用,但它打包的二进制文件是否提供、放在哪里,都因操作系统而异。上面的自定义命令方式能让可执行文件和 PicGo 配置都一目了然,也能直接在终端里测试。

上传第一张粘贴的图片

在 偏好设置 → 图像 中找到 插入图片时…,选择 上传图片,并勾选 对本地位置的图片应用上述规则。对应的网络图片选项保持关闭,除非你确实想让 Typora 把已经是远程 URL 的图片下载下来再重新上传一遍。

新建并保存一个临时 Markdown 文件,粘贴一张小截图,等链接变成 http:// 或 https:// 开头。在浏览器里打开这个 URL。如果图片需要给别人看,再开一个没有登录服务商的无痕窗口测一下。

你也可以不开自动上传,只在需要时手动上传:右键点击图片,选择 上传图片。如果文档里已经有很多本地图片,先备份,再用 格式 → 图像 → 上传所有本地图片。

Typora 还支持按文档单独设置。开启 允许根据 YAML 设置自动上传图片,然后在文档里加上这段 frontmatter:

typora-copy-images-to: upload

Typora 提供 PicGo 桌面版选项时

如果 Typora 的 上传服务 列表里出现了 PicGo.app,就可以直接复用图形界面的应用,不用 PicGo-Core:

  1. 下载 PicGo,配置好存储服务商,并在应用里直接上传一次验证。
  2. 在 PicGo 的 PicGo 设置 中打开 设置 Server,开启 Server,端口使用 36677。
  3. 保持 PicGo 运行,在 Typora 里选择 PicGo.app,如果 Typora 要求就填上应用路径,然后点击 验证图片上传选项。

Typora 当前的 图片上传支持页面 仍然把 PicGo.app 集成标注为 Chinese Language Only(仅限中文),并说明这个选项只在 Typora 使用简体中文时出现。PicGo 本身有英文界面,但这并不代表英文界面的 Typora 会显示 PicGo.app 选项。如果列表里没有这个选项,就通过 Custom Command 使用 PicGo-Core,别以为哪里还藏着一个设置。

桌面版路线需要 PicGo 进程和 Server。PicGo-Core 命令路线不使用 36677 端口,也不需要桌面应用在运行。

解决 Typora 图片上传错误

验证时提示找不到命令

Typora 拿到的 PATH 可能比终端里的少,尤其是从桌面图标启动时。把 picgo upload 换成可执行文件的绝对路径加 upload,路径有空格就加引号。再在终端里把这条完整命令跑一遍,确认能用。

为什么验证通过了,粘贴的图片还是本地的?

验证只检查上传服务本身。回到 插入图片时…,选择 上传图片,并勾选 对本地位置的图片应用上述规则。文档里已有的图片,右键选择 上传图片,或者用 上传所有本地图片。

PicGo.app 路线连不上

确认 PicGo 正在运行、Server 已开启,而且端口是 36677,这是 Typora 文档里 GUI 集成预期的端口。如果 GUI 选项不存在或者一直不稳定,就换成 PicGo-Core 自定义命令,并单独测试它。

Typora 提示上传失败

先看验证对话框里的原始输出,再在终端里用 PicGo-Core 上传同一个文件,或者直接在 PicGo.app 里上传。两边都失败,问题就出在 PicGo 上传器、服务商凭证、配额、网络或文件策略上。终端成功而 Typora 失败,通常是可执行文件路径或 Typora 配置的问题。

返回的链接没法分享

在未登录的浏览器会话里测试。存储服务商可能返回的是私有或会过期的 URL。PicGo 和 Typora 都不会修改服务商的对象权限,所以要么在服务商那边调整分享设置,要么换一个专门提供公开图片链接的存储。

Obsidian 里的对应做法,请看 Obsidian 用 PicGo 自动上传图片。

还在挑上传工具?PicGo vs Upgit 对比了命令行和桌面两种工作流;PicGo vs uPic 适合同时想要插件或跨平台上传的 Mac 用户参考。