Banshee: input type=file: Pfad vorgeben

Hiho!

Ich möchte einem User mittels eines gewöhnlichen Formulars die Möglichkeit geben, eine Datei auf seinem Rechner auszuwählen und diese auf den Server hochzuladen. Für den Dateibrowser benutze ich <input type=file>. Allerdings möchte ich einen Pfad angeben, in dem der Dateibrowser startet, z.B. 'c:'. Ich habe versucht, das Problem mittels des Attributs datasrc zu lösen, aber ohne Erfolg. Hat jemand eine Idee?

Vielen Dank im Voraus,
Banshee!

  1. Moin!

    Allerdings möchte ich einen Pfad angeben, in dem der Dateibrowser startet, z.B. 'c:'.

    Da hast du keinerlei Einflussmöglichkeiten.

    Der Browser erzeugt einen Dateiauswahldialog, welcher vollkommen vom verwendeten System abhängt. Bedenke: Es gibt im Internet nicht nur Windows. Benutzer anderer Betriebsysteme können mit einer Vorauswahl "C:" absolut nichts anfangen - deshalb machte es auch keinen Sinn, sowas in den HTML-Standard einzubauen.

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
    1. Moin Moin !

      Ich stimme Sven 100% zu und ergänze:

      Wenn Du Pfade oder Dateinamen vorgeben könntest, könntest Du mit <body onload="document.forms[0].submit();"> ganz leicht User ausspionieren, weil Du den Browser dazu bringen könntest, jede beliebige Datei hochzuladen.

      Es ist also ein Sicherheitsfeature, daß Du Pfade und Dateinamen normalerweise nicht vorgeben kannst. Wie man auf http://www.foken.de/alexander/projekte/web/playground/sichereformulare.html sehen kann, ignoriert zumindest Opera 6 die Vorgaben nicht.

      Wie weit Du mit Javascript noch Pfade über document.forms[0].elements[42].value in das Ding quetschen kannst, mußt Du ausprobieren.

      Aber bedenke: Nicht jeder Surfer läßt Javascript zu, und nicht jedes Betriebssystem benutzt das Schema Buchstabe + Doppelpunkt + Backslash für Laufwerke.

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so!"
      1. Hallo,

        Wie man auf http://www.foken.de/alexander/projekte/web/playground/sichereformulare.html sehen kann, ignoriert zumindest Opera 6 die Vorgaben nicht.

        Man sollte aber ergänzen, daß Opera beim Abschicken eine Warnmeldung ausgibt, daß das Feld vorbelegt wurde und ob man den vorgegebenen Wert übernehmen möchte. Da es aber immer User gibt, die ohne zu lesen auf "OK" klicken, halte ich Operas Variante für bedenklich...

        Viele Grüße
        Carsten