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.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Neue iPads: Apple kündigt Event für 7. Mai an

Die Einladung zeigt einen zeichnenden Apple Pencil. Der wiederum deutet auf neue iPads hin. Es…

5 Tagen ago

EU-Parlament stimmt für Recht auf Reparatur

Die Richtlinie erhält 584 Ja-Stimmen und 3 Gegenstimmen. Das „Recht auf Reparatur“ beinhaltet unter bestimmten…

5 Tagen ago

Forscher entwickeln Exploits per GPT-4 aus Sicherheitswarnungen

Die Tests basieren auf tatsächlich existierenden Sicherheitslücken. GPT-4 erreicht eine Erfolgsquote von 87 Prozent. Alle…

6 Tagen ago

HostPress für Agenturen und E-Commerce-Betreiber

Höchste Performance-Standards für Webseiten und ein persönlicher, kundenorientierter Premium Support.

6 Tagen ago

V-NAND: Samsung steigert Bit-Dichte um 50 Prozent

Die neue V-NAND-Generation bietet die derzeit höchste verfügbare Bit-Dichte. Samsung steigert auch die Geschwindigkeit und…

6 Tagen ago

Bericht: Google entwickelt App-Quarantäne für Android

Die Sicherheitsfunktion taucht in einer Beta eines kommenden Android-Updates auf. Die Quarantäne beendet unter anderem…

1 Woche ago