Erstellen einer Datei-Upload-Funktion mit C#

Values sFileDir und lMaxFileSize sind oberflächlich hart codiert und würden normalerweise von einer Datenbank oder externen Datei gefunden werden, so dass Änderungen problemlos möglich sind. sFileDir gibt an, an welcher Stelle auf dem Server die kopierten Dateien gespeichert werden sollen, während lMaxFileSize die maximal zulässige Dateigröße für eine hochgeladene Datei festlegt.

Die Prozedur DeleteFile dient zum Löschen der kopierten Datei vom Server. Nach Abschluss des Datei-Uploads kann die Datei entweder in die Datenbank oder zu einem Speicherplatz auf dem Server verschoben werden, je nach den Anforderungen der Anwendung. In diesem Beispiel wird die Datei gar nicht kopiert, so dass man diese Prozedur nicht aufruft, solange kein Fehler auftritt und man die Datei entfernen muss. DeleteFile kann nach dem Verschieben der Datei in die Datenbank oder einen anderen Speicherort zum Löschen aufgerufen werden. Es kann ein vollständiger Dateiname (Name von Verzeichnis und Datei) als ein Argument aufgerufen werden. DeleteFile überprüft ob die Datei existiert und dass die Länge des Arguments größer als 0 ist und versucht dann, die Datei durch Verwendung des Objekts FileInfo zu löschen.

Wenn der Benutzer auf die Schaltfläche cmdUpload klickt, muss zunächst überprüft werden, ob die betreffende Datei existiert. Wenn ja, bestimmt man den Dateinamen ohne das Verzeichnis (die Eigenschaft File1.PostedFile.FileName speichert den Speicherort und den Namen der Datei auf dem Client-Rechner) mithilfe von System.IO.Path.GetFileName. Dann prüft man, ob die Dateigröße noch über dem zulässigen Wert liegt. Nun kann die Datei mithilfe der Methode File1.PostedFile.SaveAs am vorgesehenen Speicherplatz auf dem Server gespeichert werden, wobei das Verzeichnis und der Dateiname an diesen weitergegeben werden. Beim Speichern der Datei wird eine Meldung angezeigt, die den erfolgreichen Upload der Datei bestätigt. Im Falle eines Fehlers löscht man die Datei und es wird mithilfe des Labels lblMessage eine Fehlermeldung angezeigt.

Beim Upload der Dateien sollte man daran denken, dass ASP.NET die Dateigröße auf 4 MB bzw. 4096 KB beschränkt. Beim Versuch, eine größere Datei hochzuladen, wird eine Fehlermeldung angezeigt. Man kann diese Einstellung ändern, indem man die Einstellung maxRequestLength im Element httpRuntime der Datei Machine.config ändert.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Erstellen einer Datei-Upload-Funktion mit C#

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *