如何在Markdown中展示本地图片?

722

有人知道如何在Markdown中显示本地图片吗?我不想为此设置Web服务器。

我在Markdown中尝试了以下方法,但它并没有起作用:

![image](files / Users / jzhang / Desktop / Isolated.png)


5
请注意:如果文件路径中有空格,必须进行URL编码,否则链接可能在某些系统(例如GitHub)中无法正常工作。 - Christian Long
4
![image](files://C:/Users/jzhang/Desktop/Isolated.png) - stysan
22个回答

692
我怀疑路径不正确。正如用户7412219所提到的,Ubuntu和Windows对路径的处理方式不同。尝试将图像放在与您的笔记本相同的文件夹中,并使用以下命令:
![alt text](Isolated.png "Title")

在Windows系统中,桌面的路径应该是:C:\Users\jzhang\Desktop

31
“Title” 是用来做什么的? - niCk cAMel
62
如果您将鼠标悬停在图像上方,“Title”将显示出来。如果无法显示图像,则会显示“alt文本”。 - chris
8
如果有人想知道如何改变图像大小,以下命令应该有效:<img src="Isolated.png" alt="isolated" width="200"/> - jb12n
2
@jb12n 这是 HTML 而不是 MD。 - bytedev
2
@bytedev HTML在Markdown中完全没问题。 - 9769953
显示剩余7条评论

383

以下代码使用相对路径将图像放置在与文档旁边的子文件夹中:

![image info](./pictures/image.png)

6
在我看来,最好的答案是以所需方式使用 GitHub 的标记文件。 - Erich Kuester
14
![image info](pictures/image.png) 也可以使用。 - WEBjuju

77

针对类Unix操作系统的解决方案。

逐步操作:
  1. 创建一个名为Images的目录,并将所有需要Markdown渲染的图片放入其中。

  2. 例如,将example.png放入Images目录中。

  3. 加载之前位于Images目录下的example.png

![title](Images/example.png)

Note:必须将Images目录放置在与具有.md扩展名的Markdown文本文件相同的目录下。


那个“Images”文件夹的路径是什么?你在 vscode 的配置中添加了它吗? - K_dev
2
@K_dev “images”目录必须位于具有“.md”扩展名的Markdown文本文件所在的同一目录下。我没有向VSCode添加任何配置。 - nevzatseferoglu
在 Jupyter Notebooks 中运行良好 :-) - Orco
4
确保文件名中没有空格。 - Matthew Hegarty
我认为这个解决方案不仅适用于UNIX。 - Dávid Tóth
我并没有声明它在其他操作系统上不会工作。文件系统及其路径解析算法对每个操作系统都是独特的。一些操作系统可能相似,这是很自然的。 - nevzatseferoglu

30

要在Markdown文件中添加图像,.md文件和图像应该在同一目录中。就像我的情况一样,我的.md文件在doc文件夹中,所以我也将图像移动到了同一个文件夹中。之后在.md文件中编写以下语法

![alt text](filename)

像这样 ![汽车图片](car.png)

这对我有用。


26

最佳解决方案是提供相对于md文档所在文件夹的路径。

当浏览器尝试解析本地文件的绝对路径时,可能会出现问题。这可以通过通过Web服务器访问文件来解决,但即使在这种情况下,图像路径也必须正确。

在与文档同级的文件夹中包含所有图片是最干净、最安全的解决方案。它将在GitHub、本地、本地Web服务器上加载。

images_folder/img.jpg  < works


/images_folder/img.jpg  < this will work on webserver's only (please read the note!)

使用绝对路径,该图片只能通过以下URL进行访问: http://hostname.doesntmatter/image_folder/img.jpg


1
最佳解决方案是提供相对于md文档所在文件夹的路径。这将使图片在我的本地机器上显示。 - MasterJoe

21
如果图片有括号则无法显示。
![alt text](Isolated(1).png)

重命名图像并删除括号

![alt text](Isolated-1.png)

更新:

如果文件路径中有空格,您应该考虑将其重命名,或者如果您使用 JavaScript,可以使用编码进行转换

encodeURIComponent(imagePath)

另外,始终尝试使用小写保存图像和文件,养成这个习惯,这只是我的个人观点


我同意这些建议,但从技术上讲,如果使用URL编码,文件名中的括号和空格是允许的,例如![image (2).png](image%20%282%29.png) - Olivier

19

我通过以下方式成功添加本地图像:![alt text](file://IMG_20181123_115829.jpg)

没有 file:// 前缀,它将不起作用(Win10, Notepad++ 与 MarkdownViewer++ 插件)。

编辑:我发现它也适用于 HTML 标签,并且更好: <img src="file://IMG_20181123_115829.jpg" alt="alt text" width="200"/>

编辑2:在 Atom 编辑器中,只有没有 file:// 前缀才能工作。真是一团糟。


14

只需从Markdown文件添加相对图像文件路径

![localImage](./client/src/assets/12.png)

11

根据您使用的工具 - 您还可以将HTML注入到Markdown中。

<img src="./img/Isolated.png">
这假设您的文件夹结构为:
 ├── img
     └── Isolated.jpg
 ├── README.md

这是我在VSCode中的Markdown显示中唯一有效的方法。 - jewishmoses
这也适用于指定其他参数,如“宽度”或“高度”。 - Enes Karaosman

9

以下方法适用于我在Ubuntu上的情况:

![Image](/home/gps/Pictures/test.png "a title")

Markdown文件在以下位置:

/home/gps/Documents/Markdown/

图像文件所在位置:

/home/gps/Pictures/

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接