Obsidian图片显示问题全记录:从根目录到指定附件文件夹的折腾之路

一个困扰了我一整天的问题,最终解决方案却如此简单


问题的开始

事情是这样的。我在使用Obsidian写笔记时,发现粘贴的图片默认都放在了仓库的根目录下。作为一个有整理强迫症的人,看着根目录下散落的一堆Pasted image 20260719...png文件,实在是忍不了。

于是我创建了一个attachments文件夹,把图片都移了进去。然后,噩梦开始了。

图片不显示了。


我踩过的坑

坑一:设置了attachments文件夹,图片还是不显示

我按照网上的教程,在设置 → 文件与链接中,把”附件默认存放位置”改成了”当前文件所在文件夹下的指定子文件夹”,并填入了attachments

设置是对的,图片也确实存到了attachments里。但笔记里的图片就是显示不出来。

后来才发现:我的笔记在深层子文件夹里,路径长这样:

1
aimax395/学习/02AI学习/01极客时间/02AgenticAI产品训练营/01环境安装/笔记.md

attachments在同一个目录下。路径没错,但就是不显示。

坑二:语法检查了无数遍

我检查了语法:

  • ![[attachments/图片.png]] ✅ 正确
  • 没有多余的中文字符 ✅
  • 文件名一致 ✅

语法全对,图片就是不显示。

坑三:标准Markdown语法也不行

有人说Obsidian的![[语法有问题,换成标准Markdown试试:

1
![测试](attachments/图片.png)

结果:还是不行。

坑四:完整相对路径也不行

我甚至尝试了从根目录开始的完整相对路径:

1
![[aimax395/学习/02AI学习/.../attachments/图片.png]]

依然不行。


问题的真相

经过一整天的排查,我终于搞清楚了:

Obsidian对深层嵌套路径(特别是包含中文的路径)的图片解析存在兼容性问题。

当你的笔记路径超过3-4层,且包含中文字符时,Obsidian的![[语法在实时预览模式下会解析失败。

这不是语法问题,不是配置问题,是Obsidian的一个已知边缘Bug。


最终解决方案

既然深层路径不行,那就回归简单

操作步骤

第一步:修改设置

进入设置 → 文件与链接,把”附件默认存放位置”改成**”指定的附件文件夹”**。

然后选择根目录下的attachments文件夹(没有就新建一个)。

第二步:迁移所有图片

把所有深层文件夹里的attachments子文件夹中的图片,全部剪切到根目录的attachments文件夹里。

第三步:保持引用不变

笔记里的引用还是:

1
![[图片名.png]]

因为现在attachments在根目录,Obsidian从根目录找,路径简单,不会再出问题。


教训与总结

为什么之前不行?

  1. 深层路径 + 中文目录名 = Obsidian ![[ 语法的”死穴”
  2. ![[ 只支持相对于当前笔记目录的路径,不支持从根目录开始的完整相对路径
  3. Obsidian 在解析包含中文的深层路径时,内部编码转换会出错

最终建议

如果你的笔记在深层文件夹里,且路径包含中文,强烈建议:

  • 把所有附件统一放到根目录的附件文件夹
  • 设置中使用**”指定的附件文件夹”**,指向根目录的附件目录
  • 不要追求”图片和笔记放在一起”的整洁,在Obsidian里,稳定性比美观更重要

一句话总结

把附件文件夹放在根目录,永远是最稳妥的选择。


后记

折腾了一整天,最后发现解决方案如此简单。

有时候,我们追求完美的文件夹结构,却忽略了工具本身的实际限制。

在Obsidian里,简洁的路径 = 更少的坑

希望这篇文章能帮到正在被同样问题困扰的你。


如果你也有类似的问题,欢迎在评论区交流。


你的Obsidian图片遇到过类似的问题吗?你是怎么解决的?

点赞 + 在看,让更多人避开这个坑!