File API und Pfad zur Datei
JürgenB
- javascript
Hallo,
ich lese über die File API eine XML-Datei, in der sich Referenzen auf weitere Dateien befinden (*). Die weiteren Dateien befinden sich im gleichen Ordner wie die XML-Datei, daher liegen die Referenzen nur als Dateiname vor.
Um auf diese Dateien zugreifen zu können, benötige ich den Pfad der XML-Datei. Leider habe ich bei meiner Suche nur die Möglichkeit gefunden, den Dateinamen zu ermitteln.
Hat jemand eine Idee, wie ich an den Pfad einer Datei komme, auf die ich über die File API zugreife?
Gruß, Jürgen
(*) Es handelt sich um eine GPX-Datei, in der sich u.A. die Dateinamen von Fotos befinden, die zusätzlich zu den Infos in der GPX-Datei angezeigt werden sollen. Die AJAX-Version findet ihr hier: (GPX Viewer, Beispiel). Da wegen der SOP die GPX-Dateien nicht von der lokalen Festplatte geladen werden können, erweitere ich das Script gerade um den Zugriff mit der File API.
Hi,
Um auf diese Dateien zugreifen zu können, benötige ich den Pfad der XML-Datei. Leider habe ich bei meiner Suche nur die Möglichkeit gefunden, den Dateinamen zu ermitteln.
Hat jemand eine Idee, wie ich an den Pfad einer Datei komme, auf die ich über die File API zugreife?
Generell über die HTML5 File API im Umfeld einer Webseite: Gar nicht.
Du bekommst seit langem bei einem „normalen“ Dateiupload nur den Namen der Datei (solange der Nutzer keine besonderen Einstellungen im Browser vorgenommen hat) – und mit der File API ist es das selbe.
Im Umfeld einer Browser-Erweiterung hast du ggf. erweiterte Möglichkeiten – siehe z.B. die File-Objekt Beschreibung bei Mozilla, wo es eine Eigenschaft mozFullPath gibt:
“The full path of the referenced file; available only to code with UniversalFileRead privileges in chrome.”
MfG ChrisB
Hallo ChrisB,
danke für deine Antwort.
Generell über die HTML5 File API im Umfeld einer Webseite: Gar nicht.
das habe ich nach meinen Recherchen befürchtet, aber die Hoffnung stirbt ja zuletzt.
... mozFullPath ...
die Suche nach diesem Stichwort hat mir gezeigt, dass auch andere das Problem haben.
Gruß, Jürgen
Hallo,
Es handelt sich um eine GPX-Datei, in der sich u.A. die Dateinamen von Fotos befinden, die zusätzlich zu den Infos in der GPX-Datei angezeigt werden sollen.
Selbst wenn du den Pfad hättest, wie würdest du diese Dateien laden? An File-Objekte kommst du m.W. nur per Upload-Feld oder Drag’n’Drop. Du kannst m.W. nicht sagen, »lade die Datei mit dem Pfad file:///…/bild.jpg«.
Gut, Bilder könnte man mit new Image().src laden, aber das unterbinden einige Browser m.W. selbst wenn das Script ebenfalls von file:/// kommt. Von Remote wird das garantiert nicht klappen.
Mathias
Hallo molily,
danke für deine Antwort.
Selbst wenn du den Pfad hättest, wie würdest du diese Dateien laden? An File-Objekte kommst du m.W. nur per Upload-Feld oder Drag’n’Drop. Du kannst m.W. nicht sagen, »lade die Datei mit dem Pfad file:///…/bild.jpg«.
das ist auch nicht vorgesehen.
Gut, Bilder könnte man mit new Image().src laden, aber das unterbinden einige Browser m.W. selbst wenn das Script ebenfalls von file:/// kommt. Von Remote wird das garantiert nicht klappen.
das ist der Plan. Ob Bilder von der lokalen Festplatte eingebunden werden können, habe ich noch gar nicht getestet. Bisher habe ich erst das Lesen, Verarbeiten und Anzeigen der gpx-Datei, was bei lokalem HTML und JS sowie über das Netz funktioniert.
Ich glaube, ich werde, wenn ich die GPX-Datei über die File API lese, auf die Bildanzeige verzichten müssen.
Gruß, Jürgen