使用 PicGo 与 GitHub 搭建高效图床,并结合 Local Images Plus 备份原图
使用 PicGo 与 GitHub 搭建高效图床,并结合 Local Images Plus 备份原图
- 一、背景介绍
- 二、核心步骤
- 1. 前置准备
- 2. 获取 GitHub Token
- 3. 配置 PicGo
- 4. 结合 Local Images Plus 做本地备份
- 5. 补充说明
一、背景介绍
在技术写作、博客创作和文档编写中,插入清晰、美观且可长期访问的图片是必不可少的。
然而,将图片直接上传到博客平台往往存在以下问题:
-
图片加载慢,影响用户体验
-
图片资源分散,不易统一管理
-
平台迁移时,图片迁移成本高
为了解决这些问题,越来越多开发者选择自建图床(Image Hosting)。
PicGo + GitHub 的组合,正是一个免费、跨平台且简单高效的方案:
-
PicGo:一款开源的图片上传与管理工具,支持多种存储平台(GitHub、七牛云、SM.MS 等)
-
GitHub:提供免费且稳定的文件存储,结合 CDN 服务可加速访问
-
CDN 加速(jsDelivr):提升图片加载速度,优化读者体验
此外,在日常写作中,我还额外下载了 Local Images Plus 插件,目的是在上传到图床的同时,在本地保留一份原图。
这样无论将来发布到不同的博客平台,还是迁移内容,都能有原始图片的备份,避免图床失效或丢失造成的内容缺失。
二、核心步骤
1. 前置准备
-
下载并安装 PicGo(GitHub 项目地址)
-
登录 GitHub,新建一个用于存放图片的仓库(建议命名为
pic-bed
或类似含义)
2. 获取 GitHub Token
-
登录 GitHub,点击右上角头像 → Settings(设置)
-
在左侧导航栏选择 Developer settings(开发者设置)
-
选择 Personal access tokens(个人访问令牌)
-
点击 Generate new token(生成新的令牌)
-
设置 Token 名称,勾选全部权限标签(Note:建议合理设置有效期)
-
创建后复制 Token 值并妥善保存(过期后需重新生成)
3. 配置 PicGo
-
仓库名:
[GitHub用户名]/[仓库名]
-
分支:
main
(注意:自 2020 年 10 月起,GitHub 默认分支名从master
改为main
) -
设定 Token:粘贴刚生成的 GitHub Token
-
存储路径(可选):如填
img
,则图片将保存在img
文件夹下 -
自定义域名(推荐 CDN 加速):
https://cdn.jsdelivr.net/gh/[GitHub用户名]/[仓库名]@main
⚠️ 如果不指定
@main
,PicGo 默认会用master
,导致上传后图片无法访问
配置完成后,就可以直接在 PicGo 上传区测试图片上传。
4. 结合 Local Images Plus 做本地备份
虽然 PicGo 上传到图床后,笔记中会有一个可用的外链,但为了长期内容安全,建议本地也保留一份原图。
我下载 Local Images Plus 插件,正是为此目的:
-
插件作用
-
自动检测笔记中的远程图片链接(如 PicGo 生成的图床 URL)。
-
自动下载到本地指定的附件文件夹(如
attachments/
)。 -
自动替换为本地相对路径,确保离线也能查看。
-
-
推荐配置
-
Save folder:设为 vault 内的
attachments
文件夹。 -
Automatic processing:开启(粘贴或插入时立即下载并替换)。
-
Replace links:开启(确保链接替换为本地路径)。
-
(可选)Convert PNG to JPEG:节省空间,可设画质 80–90%。
-
-
实战流程
-
粘贴截图 → PicGo 上传到 GitHub 图床 → 笔记插入 URL。
-
Local Images Plus 检测到 URL → 自动下载到
attachments
→ 替换为本地路径。 -
结果:图床有一份,vault 本地也有一份,可随笔记备份。
-
-
批量处理历史笔记
- 命令面板运行
Localize attachments for the current note
(当前笔记)或Localize attachments for all your notes
(整个库,需先备份)。
- 命令面板运行
5. 补充说明
-
为什么不用 GitHub 原生链接?
原生链接格式为:https://raw.githubusercontent.com/[username]/[repo]/[branch]/[path]
但访问速度往往很慢。使用 jsDelivr 作为 CDN 加速,只需更改域名即可,无需额外配置。
-
上传失败怎么办?
多数情况下是某一步配置有误。像调试代码一样,逐项检查:-
仓库名拼写是否正确
-
分支是否为
main
-
Token 是否有效且权限足够
-
PicGo 中的路径和域名是否一致
-
这样配置后,你的工作流将是:
-
PicGo 负责上传到 GitHub 图床(用于博客/CDN 加速访问)。
-
Local Images Plus 负责在本地保留一份原图(用于备份与跨平台迁移)。
-
两者结合,既有访问速度,又有数据安全。