Moving files to and from FTP servers inside your own .NET application
You have an application that has to push reports to a partner's server or pull nightly exports from a remote host, and you don't want to shell out to a command-line client or hand-write socket code. Ftp.dll is a .NET component that lets your code transfer files over FTP and FTPS (FTP over SSL/TLS) directly.
Quick facts
- Publisher: Limilabs
- Type: .NET FTP/FTPS component (library)
- Runtimes: .NET 2.0-4.7.2, .NET 4.8, Mono, .NET Core 2.0+, .NET Standard 2.0+, .NET 6.0, 8.0, 9.0 and .NET 10.0
- Security: SSL/TLS including TLS 1.2 and TLS 1.3
- Licensing: sold per developer, per five developers, or per company, with one or two years of support
Key features
Encrypted transfers with FTP and FTPS in one library
You can use plain FTP or connect over SSL/TLS with the same client class. The FTPS component is included, so you don't need a second package.
Active and Passive modes for awkward network setups
Both Active and Passive FTP modes are supported, so you can adapt to whatever firewall sits between you and the server.
Directory listings parsed for you
An automatic directory listing parser handles the majority of popular FTP servers on Windows, Unix and Netware platforms, so you get file objects rather than raw text to pick apart.
Upload and download to disk, memory or a stream
Transfer to or from memory or disk, or use stream support to read from and write to remote files on the fly. You can also create and delete files and folders, and delete folders recursively.
Batch operations by pattern and checksum validation
Upload, download or delete files using file patterns such as *.txt or regex patterns. Checksum validation (XCRC, XMD5, XSHA1) is available for remote and local files, and UTF-8 is supported.
Who it's for
It suits .NET developers who need file transfer built into a desktop app, a service or a scheduled job, and who want a managed library that runs on Mono and newer .NET runtimes as well as the classic .NET Framework.
Pros and cons
- Pro: FTP and FTPS in one component, with TLS 1.2 and 1.3.
- Pro: Wide runtime coverage, from .NET 2.0 to .NET 10.0 and Mono.
- Pro: Pattern-based and recursive operations save you writing loops.
- Con: It is a commercial library, and licences are paid per developer or per company.
- Con: It is a code library with no standalone interface, so you need to write code to use it.
FAQs
Does it support secure connections?
Yes. It supports FTPS (FTP over SSL/TLS), including TLS 1.2 and TLS 1.3.
Can it run on Mono or modern .NET?
Yes. The vendor lists Mono, .NET Core 2.0+, .NET Standard 2.0+, and .NET 6.0, 8.0, 9.0 and 10.0, in addition to .NET 2.0-4.8.
Can I transfer files without writing them to disk?
Yes. You can upload and download to or from memory, or work with streams.
How is it licensed?
Licences are sold for one developer, five developers or a whole company, each with one or two years of support. Source code editions are also offered.
System requirements
Any of: .NET 2.0-4.7.2, .NET 4.8, Mono, .NET Core 2.0+, .NET Standard 2.0+, .NET 6.0, 8.0, 9.0 or .NET 10.0.