Introduction

Now let's see how to delete a file from the FTP path.

Step 1: Used Namespaces:

using System;
using System.IO;
using
System.Net;
using
System.Text;
using
System.Web;

Step 2: Usage:

DeleteFtpFile ("FileName","ftp://208.43.121.51/", "Username", "Password");

Step 3: Creating FTP request by specifying file name and path:

public
static FtpWebRequest CreateFTPRequest(string fullFtpPath, string fileName)
{

return (FtpWebRequest)FtpWebRequest.Create(new Uri(fullFtpPath + "/" + fileName))
}

Step 4: Setting user name and password for FTP path:

public
static NetworkCredential CreateNetworkCredentials(string ftpUserID, string ftpPassword)
{

return
new NetworkCredential(ftpUserID, ftpPassword);
}

Step 5: Getting current response to if any error occurs:

public
static HttpResponse GetHttpResponse()
{
return HttpContext.Current.Response;
}

Step 6: Setting of FTP request:

public static FtpWebRequest GetFTPWebRequest(string fullFtpPath,

string ftpUserID, string ftpPassword)

{

FtpWebRequest reqFTP = CreateFTPRequest(fullFtpPath, fileName);

reqFTP.Credentials = CreateNetworkCredentials(ftpUserID, ftpPassword);

reqFTP.Method = WebRequestMethods.Ftp.DeleteFile;

reqFTP.UseBinary = true; // Specify the data transfer type.

return reqFTP;

}

Step 7: Used to delete the file from the FTP path:

//Getting response from Request.

FtpWebResponse
response = (FtpWebResponse)reqFTP.GetResponse();
//Getting FileStream from the response.

Stream
ftpStream = response.GetResponseStream();

//Deletes the File from the FTP path.

DeleteFTPFile
(response);

ftpStream.Close();

response.Close();

Step 8: Deleting mechanism:

public
static void DeleteFTPFile(FtpWebResponse response)
{
try
{
string result = string.Empty;

//Getting response form request.

Stream datastream = response.GetResponseStream();

//Reading the Stream to the end of file.

StreamReader sr = new StreamReader(datastream);

result = sr.ReadToEnd();

sr.Close();

datastream.Close();

response.Close();

}

catch (Exception ex)

{

GetHttpResponse().Write(ex.Message + " Delete Error");

}

}

Step 9: COPY & PASTE code snippet:

using System;

using System.Collections.Generic;

using System.IO;

using System.Net;

using System.Text;

namespace ApplicationClassLibrary

{

class FTPDelete

{

//Used to Delete File from FTP

public static void DeleteFtpFile(string fileName, string fullFtpPath, string ftpUserID, string ftpPassword)

{

FtpWebRequest reqFTP;

try

{

// Creating request to delete the file form FTP.

reqFTP = CreateFTPRequest(fullFtpPath, fileName);

//Setting FTP method, which helps to delete file.

reqFTP.Method = WebRequestMethods.Ftp.DeleteFile;

//Specifies the Data type for transfer

reqFTP.UseBinary = true;

reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);

//Getting response from Request.

FtpWebResponse response = (FtpWebResponse)reqFTP.GetResponse();

//Getting FileStream from the response.

Stream ftpStream = response.GetResponseStream();

//Deletes the File from the FTP path.

DeleteFTPFile(response);

ftpStream.Close();

response.Close();

}

catch (Exception ex)

{

HttpContextClass.GetHttpResponse().Write(ex.Message);

}

}

//Deletes file from server.

public static void DeleteFTPFile(FtpWebResponse response)

{

try

{

string result = string.Empty;

//Getting response form request.

Stream datastream = response.GetResponseStream();

//Reading the Stream to the end of file.

StreamReader sr = new StreamReader(datastream);

result = sr.ReadToEnd();

sr.Close();

datastream.Close();

response.Close();

}

catch (Exception ex)

{

GetHttpResponse().Write(ex.Message + " Delete Error");

}

}

//Create Request

public static FtpWebRequest CreateFTPRequest(string fullFtpPath, string fileName)

{

return (FtpWebRequest)FtpWebRequest.Create(new Uri(fullFtpPath + "/" + fileName));

}

//Create Network Credential

public static NetworkCredential CreateNetworkCredentials(string ftpUserID, string ftpPassword)

{

return new NetworkCredential(ftpUserID, ftpPassword);

}

}

}

Thanks for reading this article. Have a nice day.