FTP component and FTPS component for .NET framework. It allows you to transfer files from your application using FTP and FTPS (also known as FTP over SSL/TLS) protocols.
Written entirely in managed code. Works with .NET 2.0-4.7.2, 4.8+, 5.0+, .NET 6.0, .NET 7.0, and .NET 8.0. Mono, .NET Core 2.0+, .NET Standard 2.0+.
Features
- FTP and FTPS protocols with SSL support (FTPS component supporting explicit SSL)
- Fully compatible with Microsoft IIS FTP Service, Windows CE FTP Server, Gene6, FileZilla and others
- Active and Passive FTP modes
- UNIQUE Transfer compression (zlib) resulting in 3-4 times faster data transfers
- UNIQUE Automatic directory listing parser for the majority of popular FTP servers on Windows, Unix and Netware platforms
- IPv6 support (in both FTP component and FTPS component)
- UTF-8 support
- UNIQUE Checksum validation after upload and download (XCRC, XMD5, XSHA1)
- REST command support - resume file transfers after interruption
- MDTM (last modified time) and SIZE (the file size) commands support
- Upload and download to or from memory or disk
- Stream support - read from and write to remote files on the fly
- Creating and deleting files and folders
- UNIQUE Uploading files using patterns: file (*.txt) or regex
- UNIQUE Downloading files using patterns: file (*.txt) or regex
- UNIQUE Deleting folders recursively
What folks are saying about Ftp.dll
Quick start samples
using (Ftp ftp = new Ftp()) |
ftp.Connect( "ftp.server.com" ); |
ftp.Login( "user" , "password" ); |
ftp.ChangeFolder( "uploads" ); |
ftp.Upload( "report.txt" , @"c:\report.txt" ); |
You can find
more samples here.
-
Upload file using C#
using (Ftp ftp = new Ftp()) |
ftp.Connect( "ftp.server.com" ); |
ftp.Login( "user" , "password" ); |
ftp.ChangeFolder( "uploads" ); |
ftp.Upload( "report.txt" , @"c:\report.txt" ); |
-
Download file using C#
using (Ftp ftp = new Ftp()) |
ftp.Connect( "ftp.server.com" ); |
ftp.Login( "user" , "password" ); |
ftp.ChangeFolder( "downloads" ); |
ftp.Download( "report.txt" , @"c:\report.txt" ); |
-
Upload files using patterns in C#
using (Ftp ftp = new Ftp()) |
ftp.Connect( "ftp.server.com" ); |
ftp.Login( "user" , "password" ); |
ftp.CreateFolder( "reports-2011" ); |
ftp.UploadFiles( "reports-2011" , @"c:\reports" , |
new LocalSearchOptions( "*.txt" , true )); |
-
Download files using patterns in C#
using (Ftp ftp = new Ftp()) |
ftp.Connect( "ftp.server.com" ); |
ftp.Login( "user" , "password" ); |
Directory.CreateDirectory( @"c:\reports" ); |
ftp.DownloadFiles( "reports-2011" , @"c:\reports" , |
new RemoteSearchOptions( "*.txt" , true )); |
-
Upload file using VB.NET
ftp.Connect( "ftp.server.com" ) |
ftp.Login( "user" , "password" ) |
ftp.ChangeFolder( "uploads" ) |
ftp.Upload( "report.txt" , "c:\report.txt" ) |
-
Download file using VB.NET
ftp.Connect( "ftp.server.com" ) |
ftp.Login( "user" , "password" ) |
ftp.ChangeFolder( "downloads" ) |
ftp.Download( "report.txt" , "c:\report.txt" ) |
-
Upload files using patterns in VB.NET
ftp.Connect( "ftp.server.com" ) |
ftp.Login( "user" , "password" ) |
ftp.CreateFolder( "reports-2011" ) |
ftp.UploadFiles( "reports-2011" , "c:\reports" , _ |
New LocalSearchOptions( "*.txt" , True )) |
-
Download files using patterns in VB.NET
ftp.Connect( "ftp.server.com" ) |
ftp.Login( "user" , "password" ) |
Directory.CreateDirectory( "c:\reports" ) |
ftp.DownloadFiles( "reports-2011" , "c:\reports" , _ |
New RemoteSearchOptions( "*.txt" , True )) |
Our customers
Get Started Today