Felix Laate: Upload mit cgi-lib

Ich verwende cgi-lib.pl um Grafikdateinen zu uploaden. Leider bekommen die Dateien Namen wie cgi-lib.350.1. Ich möchte aber das sie ihre ursprüngliche Namen (wie z.B. photo.gif) behalten.

Weisst jemand wie ich das machen könnte?

  1. Ich verwende cgi-lib.pl um Grafikdateinen zu uploaden. Leider bekommen die Dateien Namen wie cgi-lib.350.1. Ich möchte aber das sie ihre ursprüngliche Namen (wie z.B. photo.gif) behalten.

    Weisst jemand wie ich das machen könnte?

    Tja, die "cgi-lib.pl" macht das halt so, entweder Du lebst damit oder läßt Dir eine andere Upload-Strategie einfallen... ne Datei auf den Server zu kriegen ist im Prinzip ganz einfach:

    HTML:
    <FORM enctype='multipart/form-data'>

    CGI/PERL:
    ---UpGehts---

    $up_dir ist das Verzeichnis auf Server

    $up_file ist der Name der Datei auf dem Server

    $in_file ist der String aus dem File-Input-Feld

    &fehler ist Deine Funktion zur Fehlerbehandlung

    open (UPFILE, ">$up_dir/$up_file") &fehler;
    binmode UPFILE; # Muss sein, wenn kein ASCII
    while(read($in_file, $buffers, 1024)){
    print UPFILE $buffers;
    }
    close UPFILE;
    ---End---

    WICHTIG!!!:
    -Prüfe die Eingaben "File-Iput-Feld" auf Sonderzeichen!
    TIPP(Arbeit):
    -Den Original-Dateinamen, resp. die Dateierweiterung der hochzuladenden Datei kannst Du ja aus dem "File-Input-Feld" ermitteln,
    -Ggf. gibst Du den hochgeladenen Dateien fortlaufende Nummern, jedoch dieselbe Erweiterung wie die Originaldatei, so werden hochgeladende Dateien nicht überschrieben...; Rolf

  2. Ich verwende cgi-lib.pl um Grafikdateinen zu uploaden. Leider bekommen die Dateien Namen wie cgi-lib.350.1. Ich möchte aber das sie ihre ursprüngliche Namen (wie z.B. photo.gif) behalten.

    Weisst jemand wie ich das machen könnte?

    Wenn du nur die ReadParse-Funktion aus der cgi-lib.pl brauchst, dann benutz stadd der Lib mein Modul web.pm (http://cgi.xwolf.com/web), das hat diese Funktion auch, nur wird beim Upload der Dateiname auch benutzt und in der Hashvariable $in{'filename'} uebergeben.
    Jedenfalls sofern in dem Dateinamen nicht irgentwelche unerlaubten Sonderzeichen drin sind. (Danach prueft die cgi-lib.pl in der alten version nicht).

    Ciao,
    Wolfgang

    1. Ich verwende cgi-lib.pl um Grafikdateinen zu uploaden. Leider bekommen die Dateien Namen wie cgi-lib.350.1. Ich möchte aber das sie ihre ursprüngliche Namen (wie z.B. photo.gif) behalten.

      Weisst jemand wie ich das machen könnte?

      Wenn du nur die ReadParse-Funktion aus der cgi-lib.pl brauchst, dann benutz stadd der Lib mein Modul web.pm (http://cgi.xwolf.com/web), das hat diese Funktion auch, nur wird beim Upload der Dateiname auch benutzt und in der Hashvariable $in{'filename'} uebergeben.
      Jedenfalls sofern in dem Dateinamen nicht irgentwelche unerlaubten Sonderzeichen drin sind. (Danach prueft die cgi-lib.pl in der alten version nicht).

      Ciao,

      »»  Wolfgang

      Vielen Dank!

      Gigt es eienen beispiel wie man dies einsetzen kann? Ich bin leider kein Experte, und es wäre sehr hilfreich wenn es dies gäbe.

      bisdannundwann,
      Felix