file: // um eine relative Datei auf das aktuelle Verzeichnis zu verweisen


15

Ich benutze file: // um auf eine lokale Datei zu zeigen.

file://localhost/Users/smcho/Desktop/softwaredevelop/15.pdf

Kann ich file: // nicht verwenden, um auf die lokale Datei relativ zum aktuellen Verzeichnis zu verweisen? Ich meine das aktuelle Verzeichnis, in dem sich die Datei befindet, die die Datei enthält: //.

file://./../15.pdf

Ich benötige file: //, um eine Datei in Leo zu verknüpfen . Mit Leo verwende ich file: //, um eine Verknüpfung zu einer lokalen Datei herzustellen, und möchte auf Dateien verweisen, die sich im relativen Verzeichnis zum aktuellen Verzeichnis befinden. Ich habe eine ähnliche Frage im Google-Forum gestellt .

Antworten:


18
file://

ist für absolute Pfade. Folgendes bezieht sich jedoch auf Ihr Arbeitsverzeichnis:

file:./15.pdf

Leider funktioniert dies nicht in OpenOffice: "Die Operation auf ../15.pdf wurde mit einem ungültigen Parameter gestartet"
Michael

6

Ich bin nicht mit der Leo-Gliederungssoftware vertraut, aber wenn sie Links wie ein Webbrowser behandelt, versuchen Sie Folgendes

../15.pdf
file:../15.pdf

Anmerkungen

  • Ein relativer Link enthält normalerweise nicht das Protokoll (wie http:oder https:oder file:). Wenn das Protokoll weggelassen wird, verwendet ein Webbrowser dasselbe Protokoll wie die Seite, auf der der Link angezeigt wird.

  • Eine absolute Verbindung beginnt mit //. Ein relativer Link sollte nicht mit beginnen //.

  • Dies ./wird nur benötigt, wenn Sie eine Verknüpfung zu dem Ordner herstellen, der die Seite genau enthält. Andernfalls können Sie es weglassen und mit beginnen ../.

    ---- In Ihrem Thread in der Leo-Editor-Gruppe haben Sie file:./../15.pdfeinen Fehler verursacht. Vielleicht ./../verwirrt die Kombination Ihre Software. Vielleicht file:../15.pdfwird es funktionieren?


Vielen Dank für die Antwort, aber beide Ansätze scheinen mit Leo nicht zu funktionieren.
Prosseek

2

Relativ zu was? URIs sind per Definition absolut. Sie können Ihren URI jedoch relativ zu einem bekannten Speicherort wie folgt festlegen:

file://localhost/Users/smcho/Desktop/softwaredevelop/somedir/../15.pdf

Update Nach Ihren Angaben klingt es so, als würden Sie versuchen, ein PDF aus Ihrer Anwendung heraus zu öffnen. In der Regel wird dazu nur die Datei ausgeführt und das Betriebssystem herausfinden, wie es damit umgeht. In Python würden Sie Folgendes verwenden:

os.startfile("../15.pdf")

URIs wie file://...werden normalerweise im Kontext von webbasierten Anwendungen verwendet.


1
Danke für die Antwort. Ich muss auf eine Datei verweisen, die sich auf das aktuelle Verzeichnis bezieht (in dem sich die Datei befindet). Kann file: // das machen?
Prosseek

1
Das aktuelle Verzeichnis in welchem ​​Kontext? Welche Anwendung verwenden Sie? Ist das auf einer lokalen Webseite oder so?
Schwer

1
Wenn Sie programmgesteuert auf file verweisen: // ist NICHT der richtige Weg, dies zu tun.
RobotHumans

Ich habe die Frage ausgearbeitet. Das aktuelle Verzeichnis bezeichnet das Verzeichnis, in dem sich die Leo-Datei befindet.
Prosseek

-1

MyClass.class.getResource ("/ com / fnf / si / DepAcctInq_V02.wsdl"); Es hat bei mir funktioniert


1
Willkommen beim Superuser: Auch wenn dies die Frage beantworten kann oder nicht, wäre es eine bessere Antwort, wenn Sie eine Erklärung dafür liefern könnten, warum Ihre Lösung mit Details und leicht zu befolgenden Anweisungen funktioniert. Wenn Sie der Meinung sind, dass Ihre Antwort richtig ist, führen Sie diese Schritte aus und bearbeiten Sie sie erneut. Bitte nehmen Sie ein paar Minuten und lesen: - superuser.com/help .Answering: superuser.com/help/how-to-answer , wieder zu superuser.Thankyou begrüßen
mic84
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.