• Javascript
  • Python
  • Go
Tags: c# size ftp

Get File Size on FTP using C#

When working with files on a remote FTP server, it is often necessary to retrieve information about the files, such as their size. This is e...

When working with files on a remote FTP server, it is often necessary to retrieve information about the files, such as their size. This is especially useful when dealing with large files, as it allows you to monitor the progress of file transfers and ensure they are completed successfully. In this article, we will explore how to use C# to get the file size on an FTP server.

To get started, we will need to create a new C# project. Once the project is created, we can begin by adding the necessary namespaces to our code. We will need the System.Net and System.IO namespaces to work with FTP and file information, respectively.

Next, we will need to establish a connection to the FTP server. We can do this by creating an instance of the FtpWebRequest class and specifying the FTP server's address and the file we want to retrieve information about. We will also need to provide the appropriate credentials if the FTP server requires authentication.

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://example.com/testfile.txt");

request.Credentials = new NetworkCredential("username", "password");

Once we have established a connection, we can use the GetResponse() method to retrieve a response from the server. This will return a FtpWebResponse object, which contains information about the file, including its size.

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

To retrieve the file size, we can simply access the ContentLength property of the response object. This property returns the size of the file in bytes. We can then convert this to a more readable format, such as kilobytes or megabytes, using simple mathematical operations.

long fileSize = response.ContentLength;

double fileSizeKB = fileSize / 1024;

double fileSizeMB = fileSizeKB / 1024;

Console.WriteLine("The file size is: " + fileSize + " bytes");

Console.WriteLine("The file size in kilobytes is: " + fileSizeKB + " KB");

Console.WriteLine("The file size in megabytes is: " + fileSizeMB + " MB");

It is important to note that the ContentLength property may not always be accurate, as some FTP servers do not support the retrieval of file size information. In such cases, the property will return -1, indicating that the file size is unknown.

We can also handle any exceptions that may occur when retrieving the file size. For example, if the file does not exist on the FTP server, a WebException will be thrown. We can catch this exception and display an appropriate message to the user.



// code to retrieve file size


catch (WebException ex)


Console.WriteLine("An error occurred: " + ex.Message);


In conclusion, using C# to get the file size on an FTP server is a simple and efficient process. By establishing a connection to the server and retrieving a response, we can easily access the file size information and use it for various purposes. With a little bit of error handling, we can ensure that our application runs smoothly even when unexpected situations arise.

Related Articles

File Upload with FTP and HTTP Proxy

In today's digital age, transferring files from one location to another has become a common task. Whether it's for work or personal purposes...