
用 Typora windows 版写完一篇带图的长文,过段时间再看——图全挂了。
或者:在自己电脑上好好的,拷到另一台机器就全是红叉。
很多人以为是自己操作出了问题,其实是路径这件事本身就有坑。
先理解一个前提。
Markdown 文件本身只是纯文本。它不包含图片数据,只记录一个路径,告诉编辑器去哪里找图。
这行的意思是:去 images 目录下找 pic.png。
所以图片能不能显示,完全取决于"这个路径能不能找到文件"。
一旦路径指向的位置变了,图就没了——文件没坏,只是找不到了。
路径分两种,行为完全不同。
从磁盘根目录或盘符开始的完整路径:
问题是它"锁死"了当前环境。
绝对路径适合"这台机器上临时用",不适合长期保存的文档。
相对路径是相对于当前 Markdown 文件的位置来算的:
相对路径的好处是:只要内部结构不变,整个文件夹搬到哪都能正常显示。
因为你描述的是"图片相对于我放在哪",而不是"图片在硬盘的绝对位置"。
这是很多人困惑的地方——用了相对路径,怎么还是丢图?
相对路径的"基准点"是 Markdown 文件本身。
假设原本结构是这样:
文章.mdimages/ └── pic.pngimages/pic.png 能找到。
但如果你把 文章.md 移进子目录:
posts/ └── 文章.md ← 移到这里了images/ └── pic.png这时编辑器会去 posts/images/pic.png 找图——那儿什么都没有。
图片的位置没变,但"相对谁"变了。
这就是所谓的基准点漂移。
Linux 系统区分大小写,Windows 和 macOS 默认不区分。
在 Windows 上写 Images/pic.png,而实际文件夹叫 images——本地能正常显示。
但传到 Linux 服务器上,就会 404。
写技术文档、博客的人容易踩这个坑。
有些编辑器支持 /images/pic.png 这种"从根目录开始"的写法。
但这个"根"是什么,各家定义不一样:
同一个路径,换个环境解释就不一样了。
Typora windows 版的图片设置集中在一个地方:
偏好设置 → 图像
这里有几个关键选项。
推荐用「复制到指定文件夹」,比如统一设成 assets。
理由:Typora 会自动帮你把图片复制过去,并生成正确路径。你只管拖图片进来,不用管文件在哪。
这个选项建议勾上。
勾选后,插入的图片路径会写成 ./assets/pic.png 这种形式,而不是 C:\... 的绝对路径。
这是文档能"跟着文件夹一起搬走"的前提。
如果你有固定的写作目录结构,可以在图像设置里指定。
定义好之后,路径会以这个目录为基准计算,跨子文件夹引用图片也不会出错。
如果文档要发布到网上,还有个更彻底的思路:图床。
原理:把图片上传到云端,Markdown 里写的是完整的网络地址(形如 https:// 开头的 CDN 链接)。
好处是路径依赖彻底消失了——不管文档挪到哪、发给谁,只要联网就能显示。
代价是依赖网络和第三方服务:图床挂了、或者服务停止运营,图就没了。
Typora 支持配合 PicGo 自动上传:在图像设置里选「上传图片」,服务选 PicGo,之后插入图片会自动传到图床并替换链接。
注意一点:已经插入的旧图片不会自动补传。开启上传功能后,之前的本地路径还是本地路径,需要手动触发一次「上传所有本地图片」。
图片显示不出来时,怎么快速定位原因?
按 Ctrl %2B / 切换到源码模式,直接看图片那行的路径。
然后对照实际文件位置核对:那个路径指向的地方,真的有这个文件吗?
大部分"图片丢失",答案就在这一步。
统一用相对路径。 除非是临时文档,不要用 C:\ 开头的绝对路径。
图片统一放一个目录。 比如都放 assets,而不是散落在各处。结构清晰,迁移也方便。
文件名注意大小写。 如果文档可能部署到 Linux 服务器,统一用小写字母最保险。
要发布的文档考虑图床。 但记得留一份本地备份——图床不是永久的。
写完后切到源码模式扫一眼。 Ctrl %2B / 一下,看看有没有混进来的绝对路径。
Typora windows 不存图片,只存路径。所以"图丢了"从来不是图片丢了,是路径找不到目标了。
想清楚两件事,问题基本能避免:用相对路径,别用绝对路径;图片跟着文档走,别落下。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。