Mittwoch, 29. August 2012

FTP Anfragen mit C#

In diesem Post möchte ich zeigen, wie man mit C# per FTP Dateien auf einen Webserver hochlädt und wieder löscht.
Der Code hierfür ist recht kurz, bei beiden durchzuführenden Operationen ist das Schema ähnlich:
Zuerst wird eine Instanz der Klasse FtpWebRequest angelegt, hierbei wird die URL des Ziels angegeben. Diese besteht normalerweise aus ftp://servername/dateiname.
Über die Eigenschaft Method der Instanz wird die durchzuführende Operation festgelegt.
Die Eigenschaft Credentials definiert die Zugangsdaten, also Benutzername und Passwort.
Mit der Funktion GetResponse() wird schließlich die Operation durchgeführt.
Beim Erstellen einer Datei kann zusätzlich über einen Stream in diese geschrieben werden.
Damit möchte ich auch die Erklärungen beenden und zeige direkt den Quellcode (using System.Net wird vorausgesetzt):
Datei erstellen und beschreiben:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://servername.de/dateiname");
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential("benutzername", "passwort");
WebResponse Response = request.GetResponse();
Stream RequestStream = request.GetRequestStream();
RequestStream.Write(...);
RequestStream.Close();
Response.Close();

Datei löschen
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://servername.de/dateiname");
request.Method = WebRequestMethods.Ftp.DeleteFile;
request.Credentials = new NetworkCredential("benutzername", "passwort");
FtpWebResponse Response = (FtpWebResponse)request.GetResponse();
Response.Close();

Keine Kommentare:

Kommentar veröffentlichen