Comment utiliser une classe ftp c# ?
Le protocole FTP (File Transfer Protocol) est utilisé afin de permettre le transfert des fichiers sur un réseau. Il est souvent utilisé en tant que serveur de stockage personnel ou pour un site Internet, le protocole FTP permet d'uploader des fichiers présents en local sur le serveur, ou bien de récupérer des fichiers distants.
Logiciels de gestion du serveur FTP
Il existe des logiciels gratuits qui permettent de gérer un serveur FTP, notamment FileZilla ou encore FTP Expert. Mais ces derniers sont souvent trop compliqués à utiliser pour des débutants. Déduit par le framework .NET 2.0, la classe FTPWebRequest ( ftp c#)permet d'implémenter facilement un client FTP "c# ftp client". Pour pouvoir utiliser cette classe, vous devez ajouter le namespace System.Net à votre projet.
Développement d'un gestionnaire de serveur FTP basé sur une application en C#
.ftp commandes :
- using System.Net
Chaque objet de type FTPWebRequest créé, pourra accomplir une action à la fois (upload, download, etc.). La gestion des fichiers sur un serveur FTP ne se fait pas comme celle des fichiers en local.
D’abord, voila comment instancier notre objet de type FTPWebRequest.
- Uri serverUri = new Uri(ftp://myServer/myDirectory/myFile);
- FtpWebRequest myRequest = (FtpwebRequest)FtpWebRequest.Create(serverUri);
Pour instancier notre objet, ici nommé "myRequest", nous utilisons la méthode statique Create().
Cette dernière prend en paramètre soit un string, soit une URI (Uniform Ressource Identifier) correspondant à la ressource, sur laquelle vous souhaitez agir. La méthode Create() renvoie un objet de type
WebRequest :
D'où la nécessité de caster ce résultat en FtpWebRequest. WebRequest est une classe abstraite dont hérite FtpWebRequest.
Une fois instanciées, plusieurs propriétés de notre objet doivent être évaluées, afin de définir notamment vos identifiants de connexion au serveur distant ainsi que les différentes options que vous souhaitez utiliser.
Voyons ensemble les principales propriétés :
Credentials :
De type NetworkCredential, cette propriété permet de spécifier votre login et password utilisé à la connexion au serveur FTP.
KeepAlive :
Booléen permettant d'utiliser ou non la fonction keep-alive. Pour rappel, cette dernière permet d'utiliser une connexion persistante.
Method :
String contenant l'action que nous allons faire sur notre ressource (download, création, upload, etc.). Les différentes actions sont récupérables via l'énumération WebRequestMethods.Ftp.
UseBinary :
Booléen permettant de spécifier le type de données pour le transfert du fichier.
TimeOut :
Entier contenant le temps d'attente pour une requête vers le serveur.