如何在Apache Zeppelin的Markdown解释器中显示存储在本地文件系统中的图像?

时间:2017-11-10 18:04:54

标签: markdown apache-zeppelin

在Zeppelin的MD解释器中工作时,我无法加载和显示存储在本地文件系统中的图像文件。当我通过HTTP服务器提供相同的图像时,它会正确显示,但不会在我使用图像的绝对路径时显示。

这是有效的!:

![Data Pyramid](http://localhost:8088/images/DIKW_Pyramid.svg.png)

但这没有显示!:

![Data Pyramid](/opt/images/DIKW_Pyramid.svg.png)

3 个答案:

答案 0 :(得分:1)

正确的路径应为/images/DIKW_Pyramid.svg.png

请注意,网址http://example.com/是对域/中路径http://example.com的请求。换句话说,URL根目录是服务器根目录。

服务器无法访问服务器根目录之外的主机系统文件的任何部分。这样做将是一个严重的安全问题。实际上,如果系统上的服务器根目录为/opt,那么当服务器收到/请求时,它实际上会在本地文件系统上查找/opt/。因此,当服务器收到/opt的请求时,它会查找(可能)不存在的/opt/opt。您必须始终在服务器根目录中启动URL路径,而不管该目录在主机系统上的位置。

答案 1 :(得分:0)

我只是遇到了同样的问题。 Waylan的答案是正确的,我只是在发布帖子以说明如何使用apache zeppelin嵌入式网络服务器将本地图像与markdown解释器一起嵌入。

您要做的就是将图像存储在Apache Zeppelin webapp文件夹中,以使用markdown解释器嵌入本地图像,因为可以从外部访问这些图像。

例如,当将齐柏林飞艇安装在/ opt中时,只需为映像创建一个目录(但请记住,每次重新启动齐柏林飞艇时都会删除该目录):

mkdir /opt/zeppelin/webapps/webapp/app/markdownImages

并将图像存储在那里。您现在可以使用markdown解释器嵌入它们:

![bla](app/markdownImages/test.png)

答案 2 :(得分:0)

如果您使用的是 Aws EMR,zeppelin 网络应用程序位于

/var/run/zeppelin/webapps/webapp/

您可以在此目录下创建任何文件夹以通过 Zeppelin notebooks 访问。