Kerstin: Übertragen des gesamten Dateipfades

Hallo ihr Lieben,

ich suche schon den ganzen Abend nach meinem Fehler und werd bald wahnsinnig.
Ich habe ein Formular und möchte mehrere Dateien angeben. Ich möchte nach dem Submit aber nicht die Dateien hochladen, sondern nur den Dateipfad übertragen, weil ich den Pfad in einem Servlet weiterverarbeiten möchte.

Mein Formular sieht so aus:
<form name="Formular" action="/pfad/zum/servlet" method="GET" enctype="multipart/form-data">
<table border="0" cellpadding="3" cellspacing="10">
<tr>
  <td align="right">Datei 1</td>
  <td><input name="pfad1" type="file" value="" size="40"></td>
</tr>
<tr>
  <td align="right">Datei 2</td>
  <td><input name="pfad2" type="file" value="" size="40" ></td>
</tr>
<tr>
  <td colspan="2" align="center"><input type="submit" value="Laden"></td>
</tr>
</table>
</form>

Beim Submit wird nun aber nicht der gesamte Pfad ("c:\pfad\zur\Datei.html") übertragen, sondern nur "Datei.html", also nur der Name der Datei. Weiß jemand eine Lösung für mein Problem? Ich wäre euch seeeehr dankbar dafür :-)

Liebe Grüße
Kerstin

  1. hallo Kerstin,

    Hallo ihr Lieben

    och, jetzt fühle ich mich ja gebauchmiezelt ;-)

    ich suche schon den ganzen Abend nach meinem Fehler und werd bald wahnsinnig.

    Wahnsinn löst dein Problem nicht, also halte dich davon fern.

    Ich habe ein Formular und möchte mehrere Dateien angeben.

    Wie möchtest du das, wo möchtest du das, warum möchtest du das?

    Ich möchte nach dem Submit aber nicht die Dateien hochladen

    Mit dem Anklicken des submit-buttons wird noch gar nichts irgendwohin hochgeladen. Es wird lediglich einem Programm gesagt, daß es jetzt losfuhrwerken soll, und das tut es auch. Ob das Ding nun etwas hochladen oder ein Kochrezept für Steinpilze ausspucken soll, hast du ihm vorher beiogebracht, gelle?

    sondern nur den Dateipfad übertragen, weil ich den Pfad in einem Servlet weiterverarbeiten möchte.

    Nichts hindert dich daran, vorausgesetzt, das vom Formular angestoßene Programm versteht auch, was du möchtest.

    Mein Formular sieht so aus:
    <form name="Formular" action="/pfad/zum/servlet" method="GET" enctype="multipart/form-data">

    Nix dagegen einzuwenden. Nur: was soll dein Servlet nun tun?

    Beim Submit wird nun aber nicht der gesamte Pfad ("c:\pfad\zur\Datei.html") übertragen

    Äks. Pfui. Schäm dich. Was hat hier sowas Uncooles wie "c:\pfad\zur\Datei.html" zu suchen? Das ist kein Pfad, auf dem ein Server-Script irgendwas finden könnte.

    Grüße aus Berlin

    Christoph S.

    1. Guten Morgen,

      Ich habe ein Formular und möchte mehrere Dateien angeben.

      Wie möchtest du das, wo möchtest du das, warum möchtest du das?

      Im Formular sollen die Dateien angegeben werden. Nach Drücken des Submit-Buttons werden die Dateien an das Servlet übergeben und mit
        String datei1 = request.getParameter("datei1");
        String datei2 = request.getParameter("datei2");
      dem Servlet zur Verfügung gestellt. Danach soll die Datei auf Fehler hin überprüft werden und wenn es keine Fehler gibt, dann will ich den Inhalt der Datei ausgeben. Dazu brauche ich den ganzen Pfad.

      Mein Problem liegt aber nun darin, dass nicht der gesamte Pfad an das Servlet übergeben wird, sondern nur der Dateiname und ich weiß nicht, wie ich den ganzen Pfad übergeben kann.

      Ich hoffe, ich konnte mein Problem verständlicher schildern.

      Vielen Dank schonmal,
      Kerstin

      1. Hi,

        Ich hoffe, ich konnte mein Problem verständlicher schildern.

        Du machst einen doppelten File Upload. Wie das geht und so ist in der SELFTML-Dokumentation beschrieben:
        http://de.selfhtml.org/html/formulare/datei_upload.htm

        (Was willst Du uebrigens mit den Pfadangaben des Clientsystems? Das ist doch von NULL Interesse.)

        Gruss,
        Ludger

        --
        "Die SPD ist guut."
        1. Hallo,

          ich möchte an sich keinen FileUpload machen, sondern lediglich die Dateipfade übergeben. Den Pfad brauche ich hinterher für die Verarbeitung im Servlet.

          Gruss,
          Kerstin

          1. Hi,

            ich möchte an sich keinen FileUpload machen, sondern lediglich die Dateipfade übergeben. Den Pfad brauche ich hinterher für die Verarbeitung im Servlet.

            ich glaube, dass das nicht geht. Du muesstest den Nutzer dazu bringen den Pfad einzugeben in ein INPUT vom Typ text.

            (Und dass man den Pfad fuer Auswertungszwecke braucht, kann ich wirklich nicht glauben.)

            Gruss,
            Ludger

            --
            "Machts der Gerd nicht, machts der Franz."
      2. Hi,

        Im Formular sollen die Dateien angegeben werden. Nach Drücken des Submit-Buttons werden die Dateien an das Servlet übergeben und mit
          String datei1 = request.getParameter("datei1");
          String datei2 = request.getParameter("datei2");
        dem Servlet zur Verfügung gestellt. Danach soll die Datei auf Fehler hin überprüft werden und wenn es keine Fehler gibt, dann will ich den Inhalt der Datei ausgeben. Dazu brauche ich den ganzen Pfad.

        Findet das ganze (Browser und Servlet) auf einem einzigen Rechner statt?
        Denn wenn das nicht der Fall ist, nützt es dem Servlet überhaupt nichts, wenn es den ganzen Pfad kennt.

        Oder kannst Du auslesen, was bei mir in
        c:\kerstin.txt
        steht?

        Wenn das Servlet NICHT auf demselben Rechner läuft wie der Browser, hat das Servlet keinen Zugriff auf die Datei - wenn es also den Dateiinhalt analysieren (Fehlerüberprüfung) soll, muß die Datei hochgeladen werden.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.