À l’aide de .NET 2.0, comment puis-je envoyer des fichiers FTP à un serveur, obtenir un fichier et le supprimer?
Question
Est-ce que .NET (C #) a des bibliothèques intégrées pour FTP? Je n'ai besoin de rien de fou ... très simple.
J'ai besoin de:
- FTP sur un compte
- Détecter si la connexion a été refusée
- Obtenir un fichier texte
- Supprimer le fichier texte
Quel est le moyen le plus simple de procéder?
La solution
Utilisez la classe FtpWebRequest ou plaine de la vieille classe WebClient .
FTP sur un compte et récupérer un fichier:
WebClient request = new WebClient();
request.Credentials =
new NetworkCredential("anonymous", "janeDoe@contoso.com");
try
{
// serverUri here uses the FTP scheme ("ftp://").
byte[] newFileData = request.DownloadData(serverUri.ToString());
string fileString = Encoding.UTF8.GetString(newFileData);
}
catch (WebException ex)
{
// Detect and handle login failures etc here
}
Supprimer le fichier:
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);
request.Method = WebRequestMethods.Ftp.DeleteFile;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Delete status: {0}", response.StatusDescription);
response.Close();
(Les exemples de code proviennent de MSDN.)
Autres conseils
Cet article implémente une interface utilisateur graphique pour un Client FTP utilisant .NET 2.0 et source complète avec exemples.
L'exemple de code comprend la connexion, le téléchargement, ainsi que de bons commentaires et explications.
Utilisez simplement la classe FtpWebRequest . Il gère déjà tout ce dont vous avez besoin.
Utilisez System.Net.FtpWebRequest
/ FtpWebResponse
Utilisez edtFTPnet , une bibliothèque FTP .NET gratuite et à code source ouvert qui fera tout ce dont vous avez besoin.