jürgen: file-upload

hi!

wie kann ich ein html-formular für ein file-upload definieren?
das file möchte ich dann via perl weiterverarbeiten?

das formular kann ich generieren - kein problem!
das perl-programm kann ich auch schreiben - kein problem!

nur wie funktioniert der upload?
wie lautet der filename der beim upload definiert wird?
wo wird das file hingespeichert?

ich möchte das perl-modul fileupload eigentlich nicht verwenden, da es für meine derzeitigen zwecke zu aufwändig wäre.

danke für die unterstützung!

jürgen

  1. hi!

    wie kann ich ein html-formular für ein file-upload definieren?
    das file möchte ich dann via perl weiterverarbeiten?

    das formular kann ich generieren - kein problem!
    das perl-programm kann ich auch schreiben - kein problem!

    nur wie funktioniert der upload?
    wie lautet der filename der beim upload definiert wird?
    wo wird das file hingespeichert?

    ich möchte das perl-modul fileupload eigentlich nicht verwenden, da es für meine derzeitigen zwecke zu aufwändig wäre.

    Ich denke, du möchtest es doch lieber verwenden, weil es dir eine Menge Fallabfragen, Dekodierungen etc. erspart. "Einbinden, anwenden - fertig" ist sicherlich einfacher als alles erstmal selbst ausdenken, wobei dann immer noch die Möglichkeit zu Fehlern besteht.

    Ansonsten denke ich, daß du die relevanten Seiten der SelfHTML gelesen hast und somit weißt, daß Upload-Formulare immer mit method="post" enctype"multipart/form-data" gesendet werden müssen.

    - Sven Rautenberg

  2. Hallo Jürgen,

    nur wie funktioniert der upload?
    wie lautet der filename der beim upload definiert wird?
    wo wird das file hingespeichert?

    Deine Fragen klingen in der Tat so, als ob Dir nicht klar ist, wie der Upload tatsächlich funktioniert.

    Es ist nicht so, daß irgendwo ein magischer "Uploader" existiert, der die vom Browser gesendete Datei auffängt und irgendwo speichert.

    Vielmehr ist es genau das CGI-Skript, welches Du schreiben willst, das die Daten vom Browser bekommt - und zwar nicht in Form einer Datei, sondern eben in Form eines CGI/Multipart-Paket, welches zu analysieren nicht ganz trivial ist. Auch eine hochgeladene Datei ist letzten Endes eine Art 'CGI-Parameter', wenn auch ein ziemlich 'sperriger'.
    In diesem Paket, unterteilt durch eine ebenfalls in diesem Paket definierte Trennzeichenfolge, stehen mehrere Abschnitte drin, welche u. a. den Namen der Datei auf dem Client-Rechner und den Inhalt dieser Datei enthalten.
    Dies alles müßtest Du auseinanderpfriemeln, um diese Daten zu extrahieren und damit irgendwas zu unternehmen (im einfachsten Falle diesen Inhalt tatsächlich in eine Datei auf dem Server zu speichern - Du scheint sie aber lieber direkt verarbeiten zu wollen).

    Für Details solltest Du den Feature-Artikel
       http://aktuell.de.selfhtml.org/artikel/cgiperl/file-upload/
    zu diesem Thema lesen.

    Viele Grüße
          Michael