解决Markdown笔记图片失效问题:Gitee+PicGo图床搭建全攻略

解决Markdown笔记图片失效问题:Gitee+PicGo图床搭建全攻略

引言:为什么要解决搭建图床?

你是否遇到过这样的场景:

  • 用 Obsidian 写了半年的知识库,换电脑时发现 所有图片都变成 “破碎图标”
  • 把 Markdown 笔记分享给同事,对方打开后 图片全是本地路径,根本看不到内容
  • 尝试用云盘链接替代,却因为 “防盗链” 或 “链接过期”,图片还是无法正常显示……

本地 Markdown 笔记的 “图片依赖本地路径”,是困扰无数创作者的痛点。而解决这个问题的核心,就是搭建一个 “图床” —— 把图片托管到云端,让链接永远有效。

本文将带你用 “Gitee(国内免费仓库)+ PicGo(自动上传工具)+ Node.js(运行环境)” 搭建图床,不仅解决 “图片失效”,还能实现:

  • ✔️ 国内访问快:Gitee 服务器在国内,无需科学上网,图片秒加载;
  • ✔️ 完全免费:Gitee 仓库、PicGo、Node.js 均为开源免费工具;
  • ✔️ 无缝对接 Obsidian:写笔记时 “拖入图片自动上传”,全程无感知;

从 工具原理解析 到 Step by Step 实操(包括环境搭建、插件配置、异常排查),甚至帮你避过 90% 的踩坑点。无论你是笔记爱好者,还是专业创作者,都能通过这篇文章彻底解决 “图片链接失效” 的心病。

(下文将从概念扫盲开始,逐步拆解每一步配置,确保 “0 基础也能跟做”。)

文章目录

一、概念扫盲:为什么需要这些工具?

在开始操作前,先搞懂四个核心概念,避免 “盲目操作”:

1. 图床:图片的 “云端仓库”

  • 定义:专门用来存储图片的云端平台,核心是 生成 “永久可访问的图片 URL”(如 https://gitee.com/xxx.png)。
  • 类比:把图片当成 “货物”,图床就是 “网络仓库”,随时能通过链接提取货物(图片)。
  • 解决的痛
    • 本地笔记里的 ![示例](./images/pic.png),换电脑、分享给别人时,链接必然失效
    • 图床的链接是 “云端地址”,在哪台设备打开都能访问,彻底摆脱 “路径依赖”。

2. Gitee:国内版 “代码托管平台”(选它当图床的理由)

  • 定义:类似 GitHub,但服务器在国内,是 免费的代码 / 文件托管平台,可以理解为 “中国的 GitHub”。
  • 为什么选 Gitee 当图床
    • ✅ 访问快:国内节点,不用科学上网,图片加载秒开;
    • ✅ 免费开源:创建 “开源仓库” 后,图片可被公开访问(非开源仓库的图片无法外链);
    • ✅ 支持 RAW 链接:仓库里的图片能通过 https://gitee.com/用户名/仓库名/raw/分支/图片路径.png 直接访问(类似 GitHub 的 RAW 链接,但速度更快)。
  • 对比其他云盘:百度网盘的链接带防盗链,无法直接插入 Markdown;而 Gitee 的 RAW 链接是 “纯静态文件地址”,完美适配 Markdown 语法。

3. PicGo:图片上传 “自动化神器”

  • 定义图片上传客户端,核心是 “一键上传本地图片,自动生成网络链接”。
  • 核心价值:把 “登录 Gitee→找仓库→点击上传→复制链接” 的繁琐步骤,压缩成 “拖入图片→自动出链接”(甚至支持快捷键 Ctrl+Alt+U)。
  • 为什么需要插件
    PicGo 默认支持 GitHub、七牛云等图床,但 不直接支持 Gitee。这时需要安装 gitee-uploader 插件(用 Node.js 开发),让 PicGo 能对接 Gitee。

4. Node.js:插件的 “动力引擎”

  • 定义:让 JavaScript 代码能在电脑本地运行的 运行时环境(类似 Java 的 JVM,Python 的解释器)。
  • 在图床场景里的作用
    PicGo 的插件(如 gitee-uploader)是用 Node.js 开发的,必须安装 Node.js 才能 运行这些插件。简单说:Node.js 是 “插件的发动机”,没有它,PicGo 无法加载 Gitee 插件。

二、环境搭建:Node.js 安装(必做!)

3.1 下载 Node.js

访问 Node.js 官网,选择 LTS 长期支持版(如18.18.0 LTS):

  • Windows 用户选 x64 Installer(64 位系统通用);
  • macOS 选 .pkg 安装包;
  • Linux 通过包管理器安装(如 sudo apt install nodejs)。

3.2 安装与验证(以 Windows 为例)

  1. 双击安装包,勾选 “Add to PATH”(自动配置环境变量,避免手动设置);
  2. 一路点击 “Next”,默认路径安装即可;

打开命令提示符(CMD),输入以下命令验证:bash

node-v# 输出Node版本(如 v18.18.0) npm-v# 输出npm版本(如 9.8.1) 

✅ 若正常输出版本,说明安装成功。
我这里是之前装好的,就不演示下载安装了,没有什么难度,主要还是国内下载比较慢的问题,如果不方便的朋友,可以加我好友,直接发你安装包

03ac93ac-e6d4-4e1d-a7ba-9e8261ce5658.png

三、PicGo 安装:图片上传客户端

4.1 下载对应版本

访问 PicGo 官网 或国内镜像,根据系统选择:

37a3c255c2c09e3367f0e98432f70996.png
  • Windows:优先选 PicGo-Setup-xxx-x64.exe(64 位系统专属,性能更优);
  • macOS:选 PicGo-xxx.dmg

Linux:选 PicGo-xxx.AppImage。Windows一般建议选这个 2.4的版本都是可以的,不要选2.3之前的老版本就行,因为老版本还不支持gitee插件

65e09fa495e62de253db9b75220abe61.png

注意这里可能会有一个小插曲——程序被报错不安全,这里直接选保留就行了

01598ec82afbbef0d8456cf4f2b0d8a9.png

4.2 安装与启动

  1. 双击安装包,按向导完成安装;

启动 PicGo 后,右下角托盘会出现图标,右键→**“打开主界面”** 即可操作。

b1fdfb00-70bf-4121-a35d-29904bc2de74.png

四、Gitee 配置:创建图片仓库

5.1 新建 Gitee 仓库

  1. 填写关键信息:
    • 仓库名称:建议含img或者picture
    • 可见性:必须选 “开源”(否则图片无法公开访问);
  2. 点击 “创建”

初始化仓库:勾选(自动生成 README,便于管理);

7a45789841e55857ea299a430d7be7a1.png

登录 Gitee 官网,点击右上角 “+”→新建仓库

067aa939ac105d3ed200dadfa7425349.png

5.2 获取访问令牌(Token)

点击 Gitee 头像→**“设置”→“私人令牌”→“生成新令牌”**;

9f7c0fec1091330b99b6971bbd0d0b64.png
32297606a08e75639de441fde86e5464.png
ba72d63feda9fc18294013186ee977db.png
  1. 配置令牌:
    • 描述:填 PicGo图床(方便记忆);
    • 权限:仅勾选 “projects”(最小必要权限,避免安全风险);

提交后,复制生成的 Token(仅显示一次,务必保存到记事本!)。

1b43a66d22cbe26e3425a0bfda34d4d5.png

五、PicGo 配置:连接 Gitee 图床

6.1 安装 Gitee 插件

  1. 打开 PicGo 主界面→左下角 “插件设置”

命令行手动安装:bash

npminstall picgo-plugin-gitee-uploader -g

先换国内 npm 源(加速下载):bash

npm config set registry https://registry.npmmirror.com 

搜索框输入 gitee,找到 gitee-uploader 1.1.2** 插件,点击 “安装”

32ea619d9fb2d898721c4f2190dea609.png

⚠️ 若安装失败:

6.2 配置 Gitee 图床参数

点击 “设为默认图床” → “确定”,完成配置。

2ba155ae7f29eb8c0e90778c383fcdc5.png

填写关键参数(参考示例):

74409ab048d010d7fbfa3533c8df2372.png
参数填写规则示例
repo用户名/仓库名(从 Gitee 仓库 URL 提取)your_gitee_name/note-img-bed
branch仓库分支(可不写,默认mainmastermaster
token刚才复制的 Gitee Tokenxxxxxxxxxxxxx
path图片存储路径(与仓库img文件夹一致)img/
customPath按日期分类(可选,如${year}/${month}/${day}2025/09/16(自动生成)
17b3070d67452d5f07774d9fe95f9bfd.png

回到 PicGo 主界面→**“图床设置”→选择 “Gitee”**;

744d61d4ffdccd997c946c9190dfb1e5.png

六、Obsidian 集成:让本地图片自动上传

7.1 安装图片上传插件

搜索 Image Auto Upload,点击 “安装”→“启用”

打开 Obsidian→**“设置”→“社区插件”→“浏览”**;

eda8bd714b8cb244687cec2549ced562.png

7.2 配置 PicGo 服务

  1. 在 Obsidian 插件设置中,找到 “Image Auto Upload”

端口:默认36677,上传接口默认为http://127.0.0.1:36677/upload

95a415a84148147efd822cf77ed71c41.png


若被占用,可在 PicGo→**“设置”→“设置 Server”** 中修改

6b6b89466cbba92e64ee150c99856108.png

7.3 测试上传(关键步骤!)

  1. 在 Obsidian 中插入本地图片(拖入编辑区,或用 ![[pic.png]] 语法);
  2. 查看图片链接:已自动替换为 Gitee 的网络链接(如 https://gitee.com/xxx/xxx.png);

验证:复制链接到浏览器,若能正常显示图片,则配置成功。

900d4a4472db996b3468d1f2a9400897.png

七、常见问题排查

8.1 PicGo 上传失败

  • ❌ Node.js 未安装:重新运行 node -v 验证,若未安装则回到步骤三。

❌ 仓库路径错误:检查repo是否为用户名/仓库名path是否与仓库img文件夹一致;

12b5e7b7a5e7fa87ded159d75a256be8.png

❌ Token 权限不足:重新生成 Token,确保勾选projects权限;

a3f064abab102e5abab4b7fe5aa5574b.png

8.2 Gitee 图片无法访问

  • ❌ 路径错误:检查 PicGo 配置的path和仓库实际文件夹是否一致(如img/是否存在)。

❌ 仓库未开源:进入 Gitee 仓库→**“管理”→“基本信息”→设为 “开源”**;

e9d6fb74e34c873721c4f81a37755963.png

8.3 Obsidian 上传无反应

❌ 端口冲突:修改 PicGo 的 Server 端口(如36678),并同步更新 Obsidian 插件配置。

46d7fa973b2d7bc6bea931f69276138a.png

❌ PicGo 未启动:确保 PicGo 在后台运行(托盘有图标);

b1fdfb00-70bf-4121-a35d-29904bc2de74.png

八、总结:从本地到云端的跨越

通过 Gitee(存储)+ PicGo(上传)+ Node.js(环境) 的组合,我们实现了:

  • ✅ 本地图片自动转网络链接,跨设备、跨平台访问稳定;
  • ✅ 借助 Gitee 国内节点,访问速度优于 GitHub;
  • ✅ 配合 Obsidian 插件,写作时 “无感上传”,专注内容创作。

如果你在配置中遇到问题,欢迎在评论区留言,如果文章对您有所帮助,不妨点个三连支持一下!

附录:工具速链

Read more

基于协同过滤算法的理财产品推荐系统-flask

基于协同过滤算法的理财产品推荐系统-flask

1. 开发语言:Python 2. 框架:flask 3. Python版本:python3.8 4. 数据库:mysql 5.7 5. 数据库工具:Navicat12 6. 开发软件:PyCharm 系统展示 系统首页 推荐算法 用户登录 理财产品 个人中心 管理员登录 管理员功能界面 用户管理 理财产品管理 理财订单 反馈信息 产品经理功能界面 摘要 在设计这款基于协同过滤算法的理财产品推荐系统时,我始终秉持着易用性、高性能与功能全面的原则。平台不仅涵盖了用户、产品类型、理财产品、理财订单、反馈信息等基础功能,为用户提供更加丰富、便捷的使用体验。我坚信,通过我的不懈努力,这款平台定能以其实用性、高效性和创新性,赢得广大用户的青睐与认可,

By Ne0inhk

DBeaver下载安装及数据库连接(MySQL)

1. DBeaver下载 官网下载地址:Download | DBeaver Community 2. 安装 1. 双击下载的安装包,选择简体中文。 2. 点击下一步。 3. 点击我接受。 4. 如下勾选为所有用户安装,点击下一步。 5. 需重复做1~3 的步骤。 6. 选择组件,默认即可,点击下一步。 7. 自定义安装路径,点击下一步。 8. 默认即可,点击安装。 等待安装。 9. 默认勾选创建桌面快捷方式,点击完成,至此代表DBeaver安装完成。 3. MySQL数据库下载及初始化 1. 官网下载MySQL 官网下载地址:MySQL :: Download MySQL Community Server 本文讲解使用zip文件,点击Download即可下载,下载完成后解压到本地文件夹(

By Ne0inhk
MySQL 表约束核心指南:从基础约束到外键关联(含实战案例)

MySQL 表约束核心指南:从基础约束到外键关联(含实战案例)

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 * 前言: * 一. 表约束核心概念 * 二. 基础约束:NULL/NOT NULL 与 DEFAULT * 2.1 空属性约束(NULL/NOT NULL) * 2.2 默认值约束(DEFAULT) * 2.3 列描述(COMMENT) * 2.4 零填充约束(ZEROFILL) * 三. 核心约束:主键、自增长与唯一键 * 3.1 主键约束(PRIMARY KEY) * 3.

By Ne0inhk
直击复杂 SQL 瓶颈:基于代价的连接条件下推技术落地

直击复杂 SQL 瓶颈:基于代价的连接条件下推技术落地

一、引言 在数据库理论的学习过程中,我们常常接触到简洁优美的SQL示例——单表查询、简单连接、基础过滤,这些案例清晰地展示了关系代数的基本原理。然而,当我们步入真实的业务系统,面对的SQL语句往往如同缠绕的线团:公用表表达式(CTE)层层嵌套,子查询彼此交织,窗口函数与聚集计算随处可见。 这种复杂性并非开发人员的炫技,而是业务逻辑的自然映射。遗憾的是,这种为提升可读性而组织的SQL结构,却给查询优化器带来了严峻考验。在众多性能瓶颈中,有一个问题尤为突出:高选择性的连接条件无法穿透复杂的子查询结构,导致数据过滤发生在错误的时间点。本文将深入探讨这一问题的本质,并介绍一种基于代价模型的连接条件下推解决方案,展示如何让优化器既懂“安全”,又知“成本”。 二、性能困境:过滤迟到的代价 2.1 真实场景的切面分析 在大量客户业务系统中,一种常见的SQL编写模式反复出现:开发人员习惯先在子查询或CTE中完成复杂的预处理逻辑——去重、排序、窗口计算,然后再将这些预处理结果与其它表进行连接,最后施加过滤条件。从业务语义角度看,这种写法清晰自然;但从执行效率角度看,却暗藏危机。 考虑

By Ne0inhk