Deleting file from FTP in C#

user2399117 picture user2399117 · Jul 12, 2013 · Viewed 49.6k times · Source

My program can upload files into an FTP server using this code:

WebClient client = new WebClient();
client.Credentials = new System.Net.NetworkCredential(ftpUsername, ftpPassword);
client.BaseAddress = ftpServer;
client.UploadFile(fileToUpload, WebRequestMethods.Ftp.UploadFile, fileName);

Right now I need to delete some files and I can't do that right. What should I use instead of

client.UploadFile(fileToUpload, WebRequestMethods.Ftp.UploadFile, fileName);

Answer

Gray picture Gray · Jul 12, 2013

You'll need to use the FtpWebRequest class to do that one, I think.

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(serverUri);

//If you need to use network credentials
request.Credentials = new NetworkCredential(ftpUsername, ftpPassword); 
//additionally, if you want to use the current user's network credentials, just use:
//System.Net.CredentialCache.DefaultNetworkCredentials

request.Method = WebRequestMethods.Ftp.DeleteFile;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Console.WriteLine("Delete status: {0}", response.StatusDescription);  
response.Close();