Kilian: Enctype multitype/formdata

Hallo

Ein Frage zum Enctype bei Formularen.
Folgende Aufgabenstellung soll innerhalb eines Formulars realisiert werden.
1. Upload einer Datei, d.h folgender Tag. <FORM action="UploadScript4.asp" method="post" enctype="multipart/form-data" > ist von Nöten
2. Eingabe von Dokumentenkennwerten
Fuer die Eingabe der Dokumentenkennwerte darf der enctype nicht auf multipart/form-data
stehen, da sonst nicht der Text im Eingabefeld uebertragen wird sondern der Server
eine Datei erwartet und deshalb eine Fehlermeldung ausgibt.

Frage: Wie kann ich realisieren, daß beide Formulartypen durch einen Submit button
gekoppelt werden können, um ihre Daten in einen Datensatz zu schreiben.

Vielen Dank fuer die Hilfe bei der Problemlösung

Kilian

  1. Frage: Wie kann ich realisieren, daß beide Formulartypen durch einen Submit button
    gekoppelt werden können, um ihre Daten in einen Datensatz zu schreiben.

    Vielen Dank fuer die Hilfe bei der Problemlösung

    Kilian

    Kilian grüß Dich,

    also ich hab so ein Teil auch grad am Wickel und möchte Dir mal meine Lösung hier posten. Das ist möglicherweise nicht direkt eine Antwort auf Deine Frage weil: mit ASP hab ich mich noch nicht beschäftigt... aber schau es Dir einfach mal an. Mit diesem Form+Script geht unter der Verw. des CGI.PM beides, also Text und Image auf den f* Server hochzuladen ;-)

    Dein Fast - Namensvetter (siehe eMail), Rolf

    ---schnipp das Testform--->

    <form action=/cgi/testcgi.pl method=post enctype="multipart/form-data">
    Ein Image zum Server schicken:
    <input type=file name='file_name'>
    Einen Text zum Server schicken:
    <input type=text name='eingabe'>
    <input type=submit value='Aufi gehts trallala'>
    </form>
    <---schnapp---<

    ---schnipp das Testscript "testcgi.pl"--->

    use CGI qw/:standard/;
    $CGI::POST_MAX=1024 * 25000;  
    $file_name = param('file_name');
    $eingabe = param('eingabe');

    $upfile = substr($file_name, rindex($file_name, "\")+1);
    $ext = substr($upfile, rindex($upfile,".")+1);

    if($file_name eq ""){
    &raus;
    }
    print header();
    print "<p>Texteingabe: $eingabe";
    print "<p>Zum Hochladen wurde die folgende Datei ausgewählt: <br>$file_name";
    print "<p>Der Name der hochgeladenen Datei: $upfile";
    print "<p>Die Dateierweiterung ist <b>$ext</b>";

    Speichern des Images auf dem Server

    open (IMG,">/temp/$upfile");
    binmode IMG;
    while (read($file_name, $buffer, 1024000)) {
    print IMG $buffer;
    }      
    close (IMG);

    Speichern der Texteingabe in einer Textdatei

    open (TXT, ">/temp/eingabe.txt");
    print TXT $eingabe;
    close (TXT);

    Fehlende Eingabe im FileInputFeld

    sub raus {
    print "Content-type: text/html\n\n";
    print "<h3>Fehlerhafte Eingabe!</h3>
      <p>Bitte Backbutton betätigen und ein Bildchen auswählen zum Hochladen\n"
    exit 0;
    }
    <---schnapp---<