2017-11-10 4 views
0

Ich kann keine Bilddateien laden und anzeigen, die in meinem lokalen Dateisystem gespeichert sind, während ich im Zeppelin-MD-Interpreter arbeite. Wenn ich das gleiche Bild über einen HTTP-Server liefere, wird es korrekt angezeigt, aber nicht, wenn ich den absoluten Pfad für das Bild verwende.Wie können Bilder, die auf dem lokalen Dateisystem gespeichert sind, im Markdown-Interpreter von Apache Zeppelin angezeigt werden?

Dies funktioniert !:

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

Aber dies zeigt nicht !:

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

Antwort

0

Der richtige Pfad /images/DIKW_Pyramid.svg.png sein sollte.

Denken Sie daran, dass die URL http://example.com/ eine Anforderung für den Pfad / bei der Domäne http://example.com ist. Mit anderen Worten, der URL-Stamm ist der Serverstamm.

Server, die keinen Zugriff auf einen Teil der Dateien des Host-Systems außerhalb des Serverstamms gewähren. Dies wäre ein ernsthaftes Sicherheitsrisiko. In der Tat, wenn der Server root auf Ihrem System bei /opt ist, dann, wenn der Server eine Anfrage für / empfängt, sucht es tatsächlich nach /opt/ auf dem lokalen Dateisystem. Wenn der Server eine Anforderung für /opt empfängt, sucht es daher nach /opt/opt, das (wahrscheinlich) nicht vorhanden ist. Sie müssen den URL-Pfad immer im Serverstammverzeichnis starten, unabhängig davon, wo sich das Verzeichnis auf dem Hostsystem befindet.

+0

Tut mir leid, aber ich vermute, dass hier ein Missstanding steht, '' '/ opt/images/DIKW_Pyramid.svg.png''' ist ein absoluter Dateipfad auf dem Dateisystem meines lokalen Rechners und es ist keine URL für eine Datei auf einem Web-Server bedient werden. Ich überprüfte Github.com aromatisierte MD und es scheint, dass Sie eine Bilddatei von einem relativen oder absoluten Pfad auf Ihrem Dateisystem laden und anzeigen können. – habedi

+0

Ja, es scheint ein Missverständnis auf Ihrem Ende zu sein. Alle Dateien müssen von Ihrem Server bedient werden (richten Sie Ihren Server auf den Speicherort der Dateien in der Serverkonfiguration). Oder Sie müssen das 'file: //' Protokoll verwenden. Wenn der HTML-Code jedoch von Ihrem Server bereitgestellt wird, können Sie über 'file: //' keine Verknüpfung zu einem Image herstellen, da dies gegen die Richtlinie des gleichen Quellcodes des Browsers verstoßen würde (und die Deaktivierung dieser Richtlinie würde ein ernsthaftes Sicherheitsrisiko darstellen). . Sie könnten 'file: //' auch für den HTML-Code verwenden, aber dann würden Sie überhaupt keinen Server verwenden, was wahrscheinlich nicht das ist, was Sie wollen. – Waylan

+0

Ich denke du meinst, ich kann eine Datei nicht nur aus einem Dateisystempfad laden, alles muss korrekt angezeigt werden, einschließlich einer Bilddatei sollte auf einem Webserver bereitgestellt werden und man muss seine URI/URL verwenden, um sie in seine aufzunehmen Notizbuch; Bitte korrigieren Sie mich, falls ich falsch liege. Vielen Dank. – habedi

Verwandte Themen