DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Hannes Preishuber Artikel Drucken
        
Datei Upload in der NET Welt

Was unter ASP eines der TOP 10 Themen in der Entwicklergemeinde war, funktioniert mit der ASP+ Version ganz easy ohne zusätzliche Komponenten.
 
File Upload war nur bisher mit Tools möglich, obwohl HTTP 1.1 die entsprechende Funktion bereits im Protokoll enthält. Wie so oft wird mit ASPX alles einfacher.

Dafür verwenden Sie das INPUT HTML Server Control und setzen den Typ auf FILE.

<input id="Upload1" type=file runat="server">

Natürlich muss auch eine Funktion ausgeführt werden. Dies erledigen wir mit dem guten alten Button.

<input type=button id="cmdUpload" value="Upload" OnServerClick="cmdUploadClick" runat="server">

Wichtig ist, das im Form Tag der EnCoding Type mit angegeben wird.

<form enctype="multipart/form-data" runat="server">

Damit ermöglichen Sie einen Multipart Mime Upload.

Soweit alles klar. Jetzt muss noch die Datei am Server gespeichert werden. Dies kann komfortabel mit einem Einzeiler erledigt werden.

Upload1.PostedFile.SaveAs("c:\temp\myfile.txt")

Natürlich wird man in der Praxis den Pfad zum speichern der Datei dynamisch erzeugen. So könnte jeder "Uploader" sein eigenes Verzeichnis bekommen. Normalerweise würde Upload1.Value den Dateinamen der Quelldatei samt Pfad liefern. Tut es aber nicht. Um den Dateinamen zu extrahieren verwenden Sie:

upload1.postedfile.Filename

In dem Objekt Postefile verstecken sich auch noch andere nutzliche Funktionen wie Contentlength um die Dateigrösse zu ermitteln.

Vergessen Sie nie, das für das Zielverzeichnis (saveas) der komplette Pfad am Webserver verwendet werden muss. Um z.B. in ein Directory Upload innerhalb des aktuellen Webs zu schreiben setzen Sie den Pfad wie folgt zusammen.

Upload1.PostedFile.SaveAs(Server.Mappath(".")+"\upload\"+Datei)

Im Gegensatz zu asp müssen Sie nicht daraug achten, das sowohl beim Filesystem als auch beim IIS Schreibrechte für den User und das Zielverzeichnis gegeben sein müssen. Die macht das Framework von alleine.


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente
    Keine Links vorhanden

  Erfasst am: 29.05.2001
  Gültig bis: 28.06.2001
8 Ratings
Bewertung: 72,5%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG