之前刚开始进行
Hexo博客撰写,图片都保存在本地Hexo源文件目录(source/images/)文件夹,随着图片增多,管理起来压力增大,于是产生了使用图床,引入外链进行图片存储的想法
Pros and Cons
- 提升部署速度 :当你执行
hexo g -d部署时,Hexo需要将你博客的所有源文件,包括文章、主题、以及几十上百张图片,全部处理并拷贝到public文件夹,然后再将这个巨大的文件夹推送到GitHub,这个过程会非常缓慢。 - 跨设备写作与协作更方便 :本地存储时,如果你想在另一台电脑上写文章,必须把整个包含所有图片的庞大仓库克隆下来。而使用图床,你只需要克隆轻量级的博客源码仓库 。文章里的图片都是绝对路径(
URL),在任何设备上打开都能正常显示。 - 版本控制体验极佳 :使用图床后,你的博客源码仓库非常干净,
Git可以高效地管理文本差异。图片仓库独立出去,两者互不干扰,管理起来清晰明了。
正因为有以上优势,因而我强烈建议将图片放在图床中进行存储,常见的的图床服务 有阿里云OSS、腾讯云 COS、七牛云、SM.MS、Github等。
考虑到前几者涉及到注册、实名认证、存储收费等问题,再加上认为Github大概率不会倒闭,图片存储较为稳定,且已有账号注册等原因,最终选择使用PicGo插件和Github实现图床功能!
-
更简单的图床功能网站:IMG.TG(但是感觉像
start up company界面有点简陋,担心有存储不稳定的问题)(后来发现有国内百度云 CDN 节点加速,口碑还不错,那大抵是我手拙无福消受了😢) -
不想折腾的可以看看这篇骚操作😀:图片外链方法大全: 免费的图床! 告别新浪图床 和 CDN
下面分别介绍 PicGo 图形化桌面版 (适合新手,操作直观)和 PicGo-Core 命令行版 (适合终端用户,轻量化)的完整配置流程,实现GitHub图床功能。
一、准备工作
以 GitHub 图床 为例,配置步骤如下:
- 创建
GitHub仓库 - 新建一个公开仓库(如
blog-images),用于存储图片 - 记住仓库路径:用户名/仓库名(如
username/blog-images) - 生成
GitHub访问令牌
- 打开
GitHub→ 点击头像 →Settings→Developer settings→Personal access tokens→Generate new token - 勾选
repo权限 (必须),生成后复制令牌(仅显示一次,需保存)
选择并安装图床插件
根据需求安装对应图床的插件,以常用的GitHub图床 为例:
bash
picgo install github-plus # GitHub 增强插件,支持自定义路径等
其他常用插件:
- 阿里云 OSS:
picgo install aliyun-oss - 腾讯云 COS:
picgo install tencent-cos - 七牛云:
picgo install qiniu
二、配置图床参数
以 GitHub 图床 为例,配置步骤如下:
- 创建
GitHub仓库 - 新建一个公开仓库(如
blog-images),用于存储图片 - 记住仓库路径:用户名/仓库名(如
username/blog-images) - 生成
GitHub访问令牌
- 打开
GitHub→ 点击头像 →Settings→Developer settings→Personal access tokens→Generate new token - 勾选
repo权限 (必须 ),生成后复制令牌(仅显示一次,需在记事本中保存)
安装Node.js(命令行版必装,图形化版可选)
下载地址:Node.js 官网(推荐 LTS 版本)。
验证安装:终端输入node -v和npm -v,能显示版本号即成功。
三、PicGo 图形化桌面版配置(新手推荐)
图形化界面操作直观,无需记忆命令,适合首次配置图床的用户。
- 安装
PicGo桌面版
下载地址:PicGo GitHub Releases。
选择对应系统版本(Windows选exe,Mac选dmg),安装后打开。 - 配置 GitHub 图床参数
左侧菜单栏点击 「图床设置」 → 选择 「GitHub图床」)。
依次填写参数:
repo:用户名/仓库名(如username/blog-images)branch:分支名(默认main)token:刚才生成的GitHub令牌path:图片在github的存储路径(可选,如images/2024/)customUrl:自定义 CDN 域名(可选,如https://cdn.jsdelivr.net/gh/用户名/仓库名)
填写完成后,点击 「设为默认图床」,配置生效。
- 验证配置(上传测试)
点击PicGo主界面的 「上传区」,直接拖入本地图片 ,或粘贴剪贴板截图 (如微信截图后直接粘贴或电脑快捷键截图)。上传成功后,进入Github,进入图片右键复制图片链接即可!
三、PicGo-Core 命令行版配置(终端用户推荐)
轻量化 、无界面 ,适合习惯用终端操作的用户,可集成到脚本或编辑器中。
- 安装
PicGo-Core
打开终端(Windows用CMD/PowerShell,Mac/Linux用Terminal),执行以下命令全局安装:
bash
npm install picgo -g
- 验证安装:输入
picgo -v,显示版本号即成功。
- 安装
GitHub图床插件
bash
picgo install github-plus
其他常用图床插件(按需安装):
- 阿里云 OSS:
picgo install aliyun-oss - 腾讯云 COS:
picgo install tencent-cos - 七牛云:
picgo install qiniu
- 配置
GitHub图床参数
bash
picgo set uploader
依次填写参数(参考前面图形化版的参数说明)
- 配置完成后,设置
github-plus为默认上传器:
bash
picgo use uploader # 再次选择 github-plus 并回车
- 验证配置(上传测试)
bash
# 替换为你图片的本地路径
# Windows 示例
picgo upload C:\Users\Legion\Pictures\test.jpg
# Mac/Linux 示例
picgo upload ~/Desktop/test.jpg
- 成功:终端会输出图片直链,复制链接到浏览器可打开图片。
- 失败:检查
token、repo权限是否开通、图片存储路径是否正确,或网络是否通畅。
四、与 Hexo 集成
在 Hexo文章中直接使用上传后的图片链接,例如:
markdown

链接在csdn无法显示问题
当我们在github配置好图床服务后,想要在CSDN进行引用 ,会发现编辑时显示正常,但是发布后会显示图片转存失败,如下图所示。这是因为CSDN 为了防止其他网站直接引用(消耗 CSDN 的服务器流量和带宽)本站的图片资源,会设置防盗链功能 。


当在外站中插入一个来自 github.com 的图片链接时,用户的浏览器会向 GitHub 的服务器请求这张图片。GitHub 服务器在响应时,可能会检查请求的来源(Referer)。如果来源是 csdn.net,而 GitHub 并未将 CSDN 加入白名单,GitHub 可能会拒绝这个请求或返回一个错误 (如 403 Forbidden)。反过来,如果 CSDN 检测到图片不是来自自己的服务器,也可能会拦截显示。
在 CSDN 博客编辑器中,点击图片上传按钮。选择图片进行上传。CSDN 会自动将图片上传到自己的图床 ,并生成一个新的、稳定的 CSDN 内部链接,这时候就可以正常引用图片了!
封面来源:Imagen AI