Hallo Forum,
ich möchte bei einem kleinen Projekt folgendes erreichen:
In einem Formular ist u.A. ein Textfeld "Videodatei". Dieses Feld soll auf eine lokale Datei auf dem Rechner (PC, Smarphone etc.) zeigen. Der Dateiname könnte eingetippt werden (z.B. file:///c:/videos/video01.mp4). Es wäre aber schön, wenn man den Dateinamen inkl. Pfad im lokalen Dateisystem des Rechners suchen könnte und dieser Pfad+Dateiname automatisch in das Textfeld übernommen würde.
Was schon geht: Ich kann eine Datei auswählen und bekomme den Dateinamen zurückgeliefert, jedoch ohne den dazugehörigen Pfad. Mir ist bewusst, dass das absichtlich d.h. aus Sicherheitsgründen nicht zurückgeliefert wird, da das sonst missbraucht werden könnte.
Vielleicht fällt euch aber trotzallem eine Möglichkeit ein, wie ich es dem User bequemer machen könnte, den Pfad+Dateinamen auszuwählen. Sonst müsste er die Datei im Explorer suchen (oder im Dateimanager beim Smartphone/Tablet), den Pfad+Dateinamen kopieren und im Formular einfügen. Und an das file:/// davor denken. Gut - letzteres könnte man vorne dran setzen lassen.
Bevor jemand fragt: Das Video wird lokal abgespielt. D.h. es wird nichts vom/zum Server herunter-/hochgeladen sondern einfach direkt lokal abgespielt. Das ist grob gesagt eine Art Kiosksystem. Die HTML-Datei kann lokal auf dem System liegen samt Videos oder auf einem Webserver mit lokalen Videos oder die HTML-Datei lokal aber die Videos über HTTP oder beides (HTML + Videos) über HTTP. Im Fall von Webvideo muss der Anwender die URL per copy+paste eintragen. Meistens liegen die Videos jedoch lokal und dort wäre ein "Picker" für Pfad+Dateinamen praktisch.
Im Formular habe ich folgendes:
Und als Test:
Das funktioniert genau so wie gewünscht... bis darauf, dass nur der Dateiname zurückgeliefert wird. Eine andere Idee wäre, per Drag-and-Drop den Dateinamen zu übernehmen:
Und dann kann man in dem DIV die Datei suchen und per Drag-and-Drop ins Textfeld ziehen. Aber das geht vermutlich auch nicht so einfach wegen Sicherheitsrisiko. Hat da jemand Erfahrung?
Eine weitere Idee wäre, das Dateisystem einzulesen (mit einem Tool) und alle Pfade/Dateien in eine Datei zu schreiben und diese in der Website zu laden um dann dadurch an die Pfade zu kommen. Das ist natürlich umständlich und Plattformabhängig - kann man also eher vergessen.
Es gibt wohl noch einen Chrome Startparameter, der beim ersten Beispiel oben auch den vollen Pfad zur Verfügung stellt statt nur der Dateiname, aber das schränkt natürlich ebenfalls ein (Stichwort Smartphone, Tablet oder andere Browser).
Habt ihr sonst noch Ideen, was ich machen könnte?
Gruß,
Wursel
ich möchte bei einem kleinen Projekt folgendes erreichen:
In einem Formular ist u.A. ein Textfeld "Videodatei". Dieses Feld soll auf eine lokale Datei auf dem Rechner (PC, Smarphone etc.) zeigen. Der Dateiname könnte eingetippt werden (z.B. file:///c:/videos/video01.mp4). Es wäre aber schön, wenn man den Dateinamen inkl. Pfad im lokalen Dateisystem des Rechners suchen könnte und dieser Pfad+Dateiname automatisch in das Textfeld übernommen würde.
Was schon geht: Ich kann eine Datei auswählen und bekomme den Dateinamen zurückgeliefert, jedoch ohne den dazugehörigen Pfad. Mir ist bewusst, dass das absichtlich d.h. aus Sicherheitsgründen nicht zurückgeliefert wird, da das sonst missbraucht werden könnte.
Vielleicht fällt euch aber trotzallem eine Möglichkeit ein, wie ich es dem User bequemer machen könnte, den Pfad+Dateinamen auszuwählen. Sonst müsste er die Datei im Explorer suchen (oder im Dateimanager beim Smartphone/Tablet), den Pfad+Dateinamen kopieren und im Formular einfügen. Und an das file:/// davor denken. Gut - letzteres könnte man vorne dran setzen lassen.
Bevor jemand fragt: Das Video wird lokal abgespielt. D.h. es wird nichts vom/zum Server herunter-/hochgeladen sondern einfach direkt lokal abgespielt. Das ist grob gesagt eine Art Kiosksystem. Die HTML-Datei kann lokal auf dem System liegen samt Videos oder auf einem Webserver mit lokalen Videos oder die HTML-Datei lokal aber die Videos über HTTP oder beides (HTML + Videos) über HTTP. Im Fall von Webvideo muss der Anwender die URL per copy+paste eintragen. Meistens liegen die Videos jedoch lokal und dort wäre ein "Picker" für Pfad+Dateinamen praktisch.
Im Formular habe ich folgendes:
Code:
Select Video: <input type='file' id="filename1" accept='text/plain' onchange='alertFilename();'>
Code:
function alertFilename() { var thefile = document.getElementById('filename1'); alert(thefile.value); }
Code:
<div> <object type="text/html" data="file:///c:/videos" width="800px" height="600px" style="overflow:auto;border:5px ridge blue"> </object> </div>
Eine weitere Idee wäre, das Dateisystem einzulesen (mit einem Tool) und alle Pfade/Dateien in eine Datei zu schreiben und diese in der Website zu laden um dann dadurch an die Pfade zu kommen. Das ist natürlich umständlich und Plattformabhängig - kann man also eher vergessen.
Es gibt wohl noch einen Chrome Startparameter, der beim ersten Beispiel oben auch den vollen Pfad zur Verfügung stellt statt nur der Dateiname, aber das schränkt natürlich ebenfalls ein (Stichwort Smartphone, Tablet oder andere Browser).
Habt ihr sonst noch Ideen, was ich machen könnte?
Gruß,
Wursel
Comment