Lunatik: Problem: Form Dateiupload mit gemischten Inputfeldern

Hallo Kollegen,

ich bin z.Z. ein wenig am herumexperimentieren. Ich versuche ein HTML Form für einen Dateiupload zu erstellen. Das Form soll ein Dateiauswahl Feld sowie 2 weitere input Felder enthalten. Nach dem senden des Formulars kommt die Datei auch bei mir an. Nur von den Infos aus den beiden anderen Input Feldern fehlt jede Spur.
Ich möchte nun wissen ob das Formular grundsätzlich richtig aufgebaut ist für meine Problemstellung. Komischerweise finde ich im Web fast ausschließlich nur Beispiele mit einem Dateiauswahlfeld und ohne weitere Input Felder.
Hier das HTML Form:

<form name="uploadForm" method=post action="UploadServ" ENCTYPE="multipart/form-data">
<!-- Hier die inputfelder die nicht ankommen -->
<input type=hidden name="param_id" value="001">
<input type=hidden name="param_test" value="123456789">
<div id="divUploadDoc">
<table width="95%" cellpadding=5 cellspacing=1>
<tr><th colspan=2>TODO: Neues Doc uploaden</th></tr>
<tr class="formTR">
<td class="formTD" width="50%" align="right">TODO: Datei auswählen</td>
<td class="formTD">
<!-- Die Datei kommt samt Dateinamen an -->
<input type=file name="jwv_file" onchange="submit();"/>
</td>
</tr>
</table>
</div>
</form>

viele Grüße

L.

  1. Hallo Kollegen,

    Wie fragst du denn die Posts ab? Weil du eigentlich alle Informationen erhalten müsstest.

    1. Hallo Kollegen,

      Wie fragst du denn die Posts ab? Weil du eigentlich alle Informationen erhalten müsstest.

      Ich nutze ein Framework. Die Parameter müssten eigentlich in einer Liste auftauchen. Deswegen war meine Frage auch ob das Formular für diesen Zweck korrekt aufgebaut ist. Falls ja, dann liegt es wahrscheinlich an dem Framework.

      Gruß

      L.

      1. Ich nutze ein Framework. Die Parameter müssten eigentlich in einer Liste auftauchen. Deswegen war meine Frage auch ob das Formular für diesen Zweck korrekt aufgebaut ist. Falls ja, dann liegt es wahrscheinlich an dem Framework.

        yup. Kurzum:
        Die Daten werden gesendet. Entweder macht das Framework etwas falsch (wenn es ein bekanntes Framework ist eher nicht) oder du verwendest das Framework falsch. ;)

        Aber ohne weitere Angaben welches Framework oder einen Auszug der Stelle wo die Daten verarbeitet werden wirds schwierig dir zu helfen.

        1. yup. Kurzum:
          Die Daten werden gesendet. Entweder macht das Framework etwas falsch (wenn es ein bekanntes Framework ist eher nicht) oder du verwendest das Framework falsch. ;)

          Aber ohne weitere Angaben welches Framework oder einen Auszug der Stelle wo die Daten verarbeitet werden wirds schwierig dir zu helfen.

          Vielen Dank für die Antwort. Die Info hilft mir doch schon weiter.
          Beim Framework handelt es sich um ein eher unbekanntes proprietäres (und älteres). Werde mich mal an den Support wenden.

          viele Grüße

          L.

  2. Hi!

    Ich versuche ein HTML Form für einen Dateiupload zu erstellen. [...] Nach dem senden des Formulars kommt die Datei auch bei mir an. Nur von den Infos aus den beiden anderen Input Feldern fehlt jede Spur.

    Glaub ich nicht. Wie hast du denn die Spurverfolgung aufgenommen? Die Live-HTTP-Headers-Extension für den Firefox wäre ein Werkzeug, um zumindest beim Absenden nachzuweisen, dass die Daten enthalten sind. Und unterwegs verloren gehen sie selten.

    <input type=file name="jwv_file" onchange="submit();"/>

    Wieso denn ein automatisches Absenden? Da kann man ja nicht mal aus Versehen eine falsche Datei wählen, ohne es korrigieren zu können.

    Lo!

    1. Glaub ich nicht. Wie hast du denn die Spurverfolgung aufgenommen? Die Live-HTTP-Headers-Extension für den Firefox wäre ein Werkzeug, um zumindest beim Absenden nachzuweisen, dass die Daten enthalten sind. Und unterwegs verloren gehen sie selten.
      Wieso denn ein automatisches Absenden? Da kann man ja nicht mal aus Versehen eine falsche Datei wählen, ohne es korrigieren zu können.

      Lo!

      Das mit der Firefox Erweiterung werde ich mir mal anschauen.
      Automatisches absenden dient nur dem Debugging.

      Danke für deine Antwort.

      L.

  3. Mahlzeit Lunatik,

    Nach dem senden des Formulars kommt die Datei auch bei mir an. Nur von den Infos aus den beiden anderen Input Feldern fehlt jede Spur.

    Wie verarbeitest Du die Formulardaten auf dem Server?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:& n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Mahlzeit Lunatik,

      Nach dem senden des Formulars kommt die Datei auch bei mir an. Nur von den Infos aus den beiden anderen Input Feldern fehlt jede Spur.

      Wie verarbeitest Du die Formulardaten auf dem Server?

      MfG,
      EKKi

      Hi Ekki,

      auf dem Server lese ich die Daten aus einer Liste.
      Du hast also auch die Vermutung, dass dies nicht am eigentlichen Senden liegt, sondern ein Serverseitiges Problem ist?!

      viele Grüße

      L.

      1. Mahlzeit Lunatik,

        Wie verarbeitest Du die Formulardaten auf dem Server?

        auf dem Server lese ich die Daten aus einer Liste.

        Ahja. Und mit welcher Server-seitigen Programmiersprache tust Du das? Herrje, ist es so schwer zu verstehen, dass Du erst einmal mit haufenweise Informationen rüberkommen musst, bevor man Dir qualifiziert weiterhelfen kann?

        Du hast also auch die Vermutung, dass dies nicht am eigentlichen Senden liegt, sondern ein Serverseitiges Problem ist?!

        Ja - aber ohne Arme keine Kekse.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:& n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Mahlzeit Lunatik,

          Wie verarbeitest Du die Formulardaten auf dem Server?

          auf dem Server lese ich die Daten aus einer Liste.

          Ahja. Und mit welcher Server-seitigen Programmiersprache tust Du das? Herrje, ist es so schwer zu verstehen, dass Du erst einmal mit haufenweise Informationen rüberkommen musst, bevor man Dir qualifiziert weiterhelfen kann?

          Du hast also auch die Vermutung, dass dies nicht am eigentlichen Senden liegt, sondern ein Serverseitiges Problem ist?!

          Ja - aber ohne Arme keine Kekse.

          MfG,
          EKKi

          Hallo und vielen Dank für die Antwort.
          Meine eigentliche Frage war nur ob das Formular für diesen Zweck korrekt aufgebaut ist.
          Diese Frage konntest du mir beantworten.
          Serverseitig wirst du mir nicht weiterhelfen können, da es sich nicht um ein gängiges Framework handelt.

          vielen Dank

          L.

          1. Mahlzeit Lunatik,

            Meine eigentliche Frage war nur ob das Formular für diesen Zweck korrekt aufgebaut ist.

            Bis auf das überflüssige <div> ja. Das hätte Dir aber auch jeder beliebige HTML-Validator (z.B. der des W3C) sagen können.

            Serverseitig wirst du mir nicht weiterhelfen können, da es sich nicht um ein gängiges Framework handelt.

            Könntest Du mir bitte wenigstens sagen, in welcher hochgeheimen Sprache dieses ominöse "Framework" ist? Ich frage nicht ohne Grund - ich hätte da nämlich ggf. eine Idee bzw. einen Ratschlag.

            Aber wenn Du nicht das nicht willst ...

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:& n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Könntest Du mir bitte wenigstens sagen, in welcher hochgeheimen Sprache dieses ominöse "Framework" ist? Ich frage nicht ohne Grund - ich hätte da nämlich ggf. eine Idee bzw. einen Ratschlag.

              Aber wenn Du nicht das nicht willst ...

              MfG,
              EKKi

              Sicher doch, bin für alles offen (nicht so wie das Framework).
              Es handelt sich um C++.

              1. Sicher doch, bin für alles offen (nicht so wie das Framework).
                Es handelt sich um C++.

                Ich glaub damit hat niemand gerechnet

                1. Hello,

                  Sicher doch, bin für alles offen (nicht so wie das Framework).
                  Es handelt sich um C++.

                  Ich glaub damit hat niemand gerechnet

                  C++ ist ja auch kein Framework für HTTP.

                  Wenn er nun noch erzählen würde, welche Klassensammlung er da vorliegen hat und auf welchem OS und für welchen Webserver, dann könnte man vielleicht wirklich weiterhelfen.

                  Liebe Grüße aus dem schönen Oberharz

                  Tom vom Berg

                  --
                   ☻_
                  /▌
                  / \ Nur selber lernen macht schlau
                  http://bergpost.annerschbarrich.de
                  1. Hello,

                    Sicher doch, bin für alles offen (nicht so wie das Framework).
                    Es handelt sich um C++.

                    Ich glaub damit hat niemand gerechnet

                    C++ ist ja auch kein Framework für HTTP.

                    Es wurde gefragt welche Sprache dem Framework zugrunde liegt.

                    Wenn er nun noch erzählen würde, welche Klassensammlung er da vorliegen hat und auf welchem OS und für welchen Webserver, dann könnte man vielleicht wirklich weiterhelfen.

                    Hallo & Danke für deinen Beitrag,

                    Habe mit dem Support Kontakt aufgenommen. Es ist tatsächlich nicht möglich weitere input Felder zusammen mit der hochzuladenden Datei zu übermitteln.

                    vielen Dank für eure Hilfe.

                    Gruß

                    L

                    Liebe Grüße aus dem schönen Oberharz

                    Tom vom Berg

                    1. Hello,

                      Habe mit dem Support Kontakt aufgenommen. Es ist tatsächlich nicht möglich weitere input Felder zusammen mit der hochzuladenden Datei zu übermitteln.

                      Das ist aus taktischen Gründen auch gar nicht unbedingt geschickt.

                      Teile den Vorgang auf. Lade erst das Bild hoch und sichere es, dann zeige es an und stelle die Inputfelder in der Anzeige zur Verfügung.
                      Eines der Input-Felder könnte dann auch "April, April" heißen. Soll heißen, wenn hier ein Haken gesetzt wird, ohne dass ein anderes Feld ausgefüllt wurde, wird das hochgeladene Bild wieder gelöscht...

                      Hidden-Elemente kannst Du durch Cookies oder durch Parameter in der URL des Action-Attributes substituieren.

                      Liebe Grüße aus dem schönen Oberharz

                      Tom vom Berg

                      --
                       ☻_
                      /▌
                      / \ Nur selber lernen macht schlau
                      http://bergpost.annerschbarrich.de
              2. Mahlzeit Lunatik,

                Sicher doch, bin für alles offen (nicht so wie das Framework).

                Wer nach allen Seiten offen ist, kann nicht ganz dicht sein ... ;-)

                Es handelt sich um C++.

                Ah, OK. Dann kann ich konkret keine weiteren Tipps geben - nur als Information: im (hoffnungslos veralteten) klassischen ASP (kein .NET) kann man beim Auslesen der Formulardaten von Upload-Formularen (mit enctype="multipart/form-data") mittels "Request.Form" nicht auf die Daten der hochgeladenen Dateien *UND* anschließend die im gleichen Formular übergebenen sonstigen Felder zugreifen ... zumindest nicht mit Bordmitteln. Deshalb haben damals diverse Fremdhersteller Upload-Komponenten gebastelt, die die hochgeladenen (Binär- und Formular-) Daten auseinandergedröselt und entsprechend gekapselt zur Verfügung gestellt haben.

                Vielleicht gibt's ja in dem von Dir genutzen Framework (bzw. bei C++ allgemein?) ähnliche Probleme ...

                MfG,
                EKKi

                --
                sh:( fo:| ch:? rl:( br:& n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|