Dateiupload Problem

DeeFour

Mitglied
ich habe folgendes Problem:

ich habe eine normale HTML Seite mit einem Formular, daß ein FileUpload Feld enthält. Dieses Formular posted seinen Inhalt an eine C# .NET Seite.

Die Textfelder des Formulars auszulesen sind kein Problem, daß mache ich mit Request["Feldname"]; .

Mein Problem ist, wie komme ich an die Infos aus dem FileUpload Input Feld um die dort ausgewählte Datei nun tatsächlich uploaden zu können?

Die Formularseite aus .NET herraus zu generieren ist in diesem Fall leider nicht die Lösung, weil das Form selber über ein CMS mit dem FCK Editor erzeugt und in einer Datenbank gespeichert wurde.

Ich hoffe mir kann da jemand helfen.

danke schonmal
Frank
 

Norbert Eder

Erfahrenes Mitglied
Unter der Annahme, dass dein FileUpload Control "fileUpload" heißt:
C#:
if (fileUpload.PostedFile != null && fileUpload.PostedFile.ContentLength > 0) {
  fileUpload.PostedFile.SaveAs(".......");
}
 

DeeFour

Mitglied
danke für deine Antwort.

Das Problem ist aber das die Seite mit dem FileUpload Feld ne normale HTML Seite ist und kein Upload Control hat sondern einfach <input type="file" name="fileUpload"> und das Ganze wird dann an die ASPX Seite geposted wo ich dann an den Filestream aus dem Inputfeld kommen muß.

Quasi die Seite Form.html posted an Upload.aspx ..

Ich hab in dem Form nicht die Möglichkeit das Ganze als Control zu deklarieren. Oder mach ich da jetzt nen Denkfehler?
 

Norbert Eder

Erfahrenes Mitglied
Dein "HTML"-Seite: Ist das ASP.NET oder eine ganz normale HTML-Seite? Wenn du nämlich eine normale HTML-Seite hast, und im Hintergrund ohnehin ASP.NET arbeitet, dann verwende gleich ASP.NET und nimm das Upload-Control.
 

DeeFour

Mitglied
also es sieht so aus. Ich habe ein in .Net programmiertes CMS. Der User kann in dem CMS mit dem FCK Editor Seiten anlegen, die in der Datenbank gespeichert werden.
Der Code der da in der Datenbank gespeichert wird, ist plain HTML.

Das Formular von dem ich spreche ist so eine Seite. Selbst wenn ich jetzt im FCK Editor des CMS im Quellcode versuche würde den FileUpload als Control zu definieren würde das nicht funktionieren, da die Seite wenn sie aus der Datenbank ausgelesen wird, ja nicht nochmal gerendert wird. Ebenso ist es für das System auch zu dem Zeitpunkt nicht erkennbar, daß es sich ausgerechnet jetzt um eine Formularseite handelt und nicht um eine Textseite.

Einzige weitere Idee die ich jetzt noch habe, ist es das FileUpload Control in eine Miniseite zu packen und dann im Form als PopUp zu öffnen. Ich muß dann nur irgendwie über nen Javascript den Filenamen an ein Hiddenfield im eigentlich Form zurückgeben, nachdem der Upload stattgefunden hat.
 
Zuletzt bearbeitet:

DeeFour

Mitglied
ok, hab das Problem jetzt so gelöst, daß ich in der Formular Seite an der Stelle wo sonst das Feld für den Dateiupload war, einen Link eingebaut habe, der ein PopUp mit einer reinen .NET Seite öffnet. Diese kleine Seite übernimmt den Dateiupload und gibt dann per Javascript den Filenamen an das Form zurück, wo der auch per Javascript dann in ein Hiddenfield eingetütet wird.

Danach kann ich dann alles in der .Net Anwortseite per Request abfragen und per Mail versenden.