Zeltner Martin: Setzen von value beim Typ input/file nich möglich!

Salü!

Ich habe das Problem, dass ich den Standard-Wert des Input-Typs 'File' nicht setzen kann.
Der Code sieht vorgendermassen aus:

<input type='file' name='bier_bild' file='c:\haha.jpg' size='50'>

Wieso erscheint nun der Wert 'c:\haha.jpg' nicht im Browser, obwohl diese Datei existiert?
Genau so steht es im SELFHTML 8.0.
Wo liegt nun der Fehler?

Bitte helft mir!
Grüsse Martin ;)

  1. Hallo Martin,

    Wieso erscheint nun der Wert 'c:\haha.jpg' nicht im Browser, obwohl diese Datei existiert?
    Genau so steht es im SELFHTML 8.0.
    Wo liegt nun der Fehler?

    Ich befürchte in SELFHTML (*präventiv duck*). Fileuploadfelder sollten, soweit ich mich erinnere, nicht per value vorbelegbar sein, weil das ein Sicherheitsrisiko ist (dann kann man ja die File-Felder mit interessanten Systemdateien vorbelegen, und ein unaufmerksamer User wird die brav an den Server schicken - Danke ;-)).
    Ich habe leider so schnell nix gefunden, was das bestätigt, außer eine Seite für Opera (da kann man value setzen), aber das beschreibt das zugrundeliegende Problem wohl auch ganz gut:
    http://sec.greymagic.com/adv/gm001-op/

    Viele Grüße
    Stephan

  2. hallo Martin

    Der Code sieht vorgendermassen aus:
    <input type='file' name='bier_bild' file='c:\haha.jpg' size='50'>

    nö. Dein Code sieht so aus:
    <input type='file' name='bier_bild' file='c:\haha.jpg' size='50'>

    Wieso erscheint nun der Wert 'c:\haha.jpg' nicht im Browser, obwohl diese Datei existiert?
    Genau so steht es im SELFHTML 8.0.

    nö, das steht da nicht so drin.

    Wo liegt nun der Fehler?

    im Pfad deines Bildes. Backslashes, also die -Striche, haben in HTML eine andere Bedeutung als auf deinem System, einen Pfad müßtest du also immer so schreiben: "C:/haha.jpg".
    Aber du muß dich nochmal über die Schreibweise von Pfaden (bzw. URL's) belesen. Grundsätzlich hast du zwei Möglichkeiten: einen relativen Pfad oder einen absoluten Pfad. "relativ" bedeutet, daß der Pfad abhängig ist vom Ablageort der Datei. Wenn dein HTML-Dokument mit diesem Input-tag also im Verzeichnis "C:\Webseiten" liegt, muß ein Bild, das in demselben Verzeichnis liegt, so eingebunden werden: "src='haha.jpg'"  -  es _darf_ in diesem Fall nicht in einem anderen Verzeichnis liegen. Ein absoluter Pfad würde so aussehen: "src='http://www.domain.de/verzeichnis/bildname.gif'"

    Grüße

    Christoph S.

  3. Genau so steht es im SELFHTML 8.0.

    http://aktuell.de.selfhtml.org/extras/errata.htm

  4. Hallo,

    das ist aus Sicherheitsgründen absichtlich aus den Browsern herausgenommen worden. Ich glaube, diesem input-Typ kann man noch nicht einmal per JavaScript einen Wert zuweisen, sondern ausschließlich per [Durchsuchen]-Button.

    Es wäre sonst möglich, den Wert voreinzustellen und dann im Body-Tag eine onload=submit() Anweisung unterzubringen und Deine Daten vom Client sind im Netz...

    Versuchs mal mit nem M$IE 3.x. Da ging das noch.

    Liebe Grüße

    Tom

  5. Salü!

    Tach

    Ich habe das Problem, dass ich den Standard-Wert des Input-Typs 'File' nicht setzen kann.

    Das ist aus Sicherheitsgründen so!

    Genau so steht es im SELFHTML 8.0.

    <Zitat quelle="http://selfhtml.teamone.de/html/formulare/datei_upload.htm">

    Das Attribut value= in Verbindung mit <input type="file">, mit dem das Vorbelegen der Dateiauswahl möglich wäre, wird von moderneren Browsern aus Sicherheitsgründen nicht mehr unterstützt.

    </Zitat>

    Andreas

    1. <Zitat quelle="http://selfhtml.teamone.de/html/formulare/datei_upload.htm">

      Das Attribut value= in Verbindung mit <input type="file">, mit dem das Vorbelegen der Dateiauswahl möglich wäre, wird von moderneren Browsern aus Sicherheitsgründen nicht mehr unterstützt.

      </Zitat>

      http://aktuell.de.selfhtml.org/extras/selfhtml8err01.htm

      (1) http://selfhtml.teamone.de/html/formulare/datei_upload.htm#definieren
      (2) <p>Mit dem Attribut <code>value=</code> in Verbindung mit <code><input type="file"></code> können Sie das Feld mit einem Wert vorbelegen, z.B. <code>value="C:\autoexec.bat"</code>.</p>
      (3) <p>Das Attribut <code>value=</code> in Verbindung mit <code><input type="file"></code>, mit dem das Vorbelegen der Dateiauswahl möglich wäre, wird von moderneren Browsern aus Sicherheitsgründen nicht mehr unterstützt.</p>