Problem mit Dateiupload



  • Hallo,
    ich will in meine Homepage einen Dateiupload einbauen. Ich verwende dazu diesen Code:

    <%@ Page Language="C#" %>
    
    <script runat="server">
       void Versand(Object o, EventArgs e)
       {
          HttpPostedFile d = datei.PostedFile;
          string dateiname = d.FileName;
    
          if(dateiname != "")
          {
             int start = dateiname.LastIndexOf("\");
             dateiname = dateiname.Substring(start + 1, dateiname.Length - start - 1);
             string pfad = Server.MapPath("./temp/");
             pfad += HttpUtility.UrlEncode(dateiname);
             d.SaveAs(pfad);
             ausgabe.InnerHtml = "<img src=\ "temp/" + HttpUtility.UrlEncode(dateiname) + "\" />";
          }
       }
    </script>
    
    <html>
    <head></head>
    <body>
       <p id="ausgabe" runat="server" />
       <form id="form1" enctype="multipart/form-data" runat="server">
          <input type="file" id="datei" runat="server" />
          <input id="Submit" type="submit" value="Versenden" onserverclick="Versand" runat="server" />
       </form>
    </body>
    </html>
    

    Ich will den Code jetzt so umbauen, dass auf der einen Seite (z.B. formular-1.aspx) ein Dateiupload-Feld ist. Beim Klicken auf den Submit-Button soll dann eine zweite Seite (z.B. formular-2.aspx) aufgerufen werden. Auf dieser Seite soll dann das hochgeladene Bild angezeigt werden.

    Doch wie kann ich das umsetzen ?
    Wenn ich jetzt angebe action="formular-2.aspx", welchen Code muss ich dann in formular-1.aspx haben, und welchen muss ich in formular-2.aspx haben ?

    Wie muss ich den Code dazu abändern / ergänzen ?

    Könnt ihr mir das bitte erklären ?

    Vielen Dank,
    mfg arena_blau



  • Die Vorgehensweise ist in diesem Beispiel des FileUpload-Serversteuerelements ausführlich beschrieben.



  • Hallo,
    danke für den Link.

    Ich habe mir die Seite mal durchgelesen, aber die Beispiele sind alle genauso aufgebaut wie der Beispielcode den ich in meinem ersten Beitrag geschrieben habe.

    Es soll so sein, dass man auf der Seite formular-1.aspx die Datei auswählt die man hochladen möchte. Dann soll man auf Senden klicken können, und dann soll die Seite formular-2.aspx aufgerufen werden können (und nicht wieder die gleiche Seite, also formular-1.aspx).

    Und genau das ist mein Problem. Wie kann ich das umsetzen ?

    Im bisherigen Code war immer diese Zeile:

    <input id="Submit" type="submit" value="Versenden" onserverclick="Versand" runat="server" />
    

    Beim Klicken auf den Button wurde die Funktion "Versand" aufgerufen. Gebe ich nun im form-Tag action="formular-2.aspx" an, so wird die Funktion "Versand" vom Button anscheinend nicht gefunden und der Upload funktioniert nicht.

    Versteht ihr was ich meine ?

    Ich hoffe ihr könnt mir weiterhelfen.

    Vielen Dank,
    mfg arena_blau



  • Problem hat sich erledigt.

    Vielen Dank



  • Es wäre schön, wenn du hier noch deine Lösung posten würdest, damit andere sie auch haben, falls sie einmal vor dem gleichen Problem stehen.


Anmelden zum Antworten