Thomas Mirke: Upload mit type=file geht nicht

Ich hab mal das Beispiel aus dem Forum nachempfinden wollen, mit dem man per Mail eine Datei aus einem Formular versenden können soll:

<form name=test action='mailto:tmirke@ra-micro.de' method=post enctype="multipart/form-data">
<input type="file" name="knopf1" maxlength="100000" >
<input type=submit name="knopf2" value="Absenden">
</form>

Also - bei mir passiert da rein gar nix. Außer, daß sich der Mail-Client erbarmt, ein Fenster zum Mailschreiben zu öffnen. Schade!

Und falls es doch irgendwie geht - hat jemand eine Idee, wie man die Übertragung sicher(er) machen kann?

Vielen Dank,
Thomas

  1. Hallo!

    Ich glaube da hat Du etwas in den flschen hals gekriegt:

    <input type="file" name="knopf1" maxlength="100000">

    machts nichts anderes, ich sags mal einfach, als den Dateipfad zu Senden. Bsp:

    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <head>
    <title>Datei-Form Test</title>
    </head>
    <body>
    <form name="eform">
    <input type="file" name="datei">
    <input type="button" value="Ab Geht's" onClick="alert(document.eform.datei.value)">
    </form>
    </body>
    </html>

    Du brauchst ein anderes Programm, z.B. in PHP oder PERL, dazu.
    Weiteres findest Du in Selfhtml unter "Perl"

    Thilo

  2. Hi,

    <form name=test action='mailto:tmirke@ra-micro.de' method=post enctype="multipart/form-data">

    Also - bei mir passiert da rein gar nix. Außer, daß sich der Mail-Client erbarmt, ein Fenster zum Mailschreiben zu öffnen. Schade!

    aus genau diesem Grund sind mailto-Formulare Scheiße. Mit Deinem <input type="file"> hat das auch wenig zu tun.

    Und falls es doch irgendwie geht

    Es geht, und zwar mit CGI. Mehr dazu findest Du im Archiv.

    • hat jemand eine Idee, wie man die Übertragung sicher(er) machen kann?

    Was meinst Du mit sicher?

    Cheatah

    1. Hallo Cheatah,

      vielen Dank für Deine Antwort. Wie ich dem Archiv entnehmen kann, bist Du scheinbar Freak für cgi-Scripte. Tatsächlich gibt es für eine Kombination aus Formular mit action=cgi-script, input type=file mehrere Lösungen für verschiedene Scriptsprachen.

      Ich wollte es aber "ganz einfach per Attachment im Mail" probieren und bin da nur auf

      http://www.teamone.de/selfhtml/sfarchiv/1999_1/t01583.htm#a6770

      gestoßen:

      "geschrieben am: 03.Januar.1999, 14:38 Uhr
      ... ich habe die Methode mit mailto: gerade nochmal probiert, und es funktioniert mit Einschränkungen wirklich: Netscape 4 sendet die Datei als Anhang, wenn auch mit dem vollständigen Pfad als Dateinnamen. Allerdings nicht bei IE4, der macht zwar Outlook auf und übernimmt den Nachrichtentext, aber die Datei wird nicht
      gesendet :-(."

      Soweit klappt es noch nicht mal bei mir (IE5) - da passiert wie gesagt gar nichts. Wird der enctype text/plain genommen, werden wenigstens die Werte (Dateipfad) übernommen und das Mail auch verschickt.

      Was mich noch interessieren würde: type=file erzeugt ja ein Textfeld und einen Button mit Aufschrift "Durchsuchen". Da ein value nicht vorgesehen ist - kann man "Durchsuchen" irgendwie durch einen anderen Text ersetzen?
      Zur Auswahl wird unter Windows offenbar das MSControl commondlg gestartet - was passiert unter anderen Betriebssystemen?

      Gruß, Thomas

      1. Hi,

        "geschrieben am: 03.Januar.1999, 14:38 Uhr
        ... ich habe die Methode mit mailto: gerade nochmal probiert, und es funktioniert mit Einschränkungen wirklich: Netscape 4 sendet die Datei als Anhang, wenn auch mit dem vollständigen Pfad als Dateinnamen. Allerdings nicht bei IE4, der macht zwar Outlook auf und übernimmt den Nachrichtentext, aber die Datei wird nicht
        gesendet :-(."

        dieser Text zeigt einen winzigen Ausschnitt der Wahrheit: _Jedes_ System ist anders, und _jedes_ System wird anders mit einem mailto-Formular umgehen (unabhängig vom <input type="file">). Manche verschicken die Mail wie gewünscht, manche ohne Attachment, andere verschicken auch die Textfelder in irgendeinem wirren Binärformat, und wieder andere tun absolut gar nichts. Darum sind mailto-Formulare wie ein Lottospiel und ergo Unsinn.

        Mit CGI-Formmailern funktioniert es - technische Ausfälle einmal außer Acht gelassen - in 100.00% aller Fälle.

        Was mich noch interessieren würde: type=file erzeugt ja ein Textfeld und einen Button mit Aufschrift "Durchsuchen". Da ein value nicht vorgesehen ist - kann man "Durchsuchen" irgendwie durch einen anderen Text ersetzen?

        Nein, das geht nicht.

        Zur Auswahl wird unter Windows offenbar das MSControl commondlg gestartet - was passiert unter anderen Betriebssystemen?

        Andere Systeme bieten den Button möglicherweise nicht an oder können mit type="file" vielleicht sogar gar nichts anfangen. Letztere dürften aber in der Praxis nicht vorkommen.

        Cheatah