.NET FTP Library

$ 99.96

Easily transfer files and directories to other servers using FTP and securely with SSL Encryption.

Testimonial

"If we decide to use a component instead of building our own solution we scrutinize the component and the support. We do that because it will become expensive if you make the wrong choice. We made the right choice to use Kellerman"

Ulrich Hopp
Managing Direct
inSynergie GmbH

The .NET FTP Library by Kellerman Software is the ultimate in reliability and performance. You can actually take out the network cable during a transfer, plug it back in and it will resume right where it left off. The component also detects if the FTP Server is shutting down during the middle of your transfer. All the standard FTP operations are supported plus a multitude of other features that help to shorten development time. Transfer files faster by using directory synchronization and MODE Z compression. Securely transfer files over SSL. It also handles SSL with implicit port 990. Inform your users how long the transfer will take using powerful progress statistics.

We also have a component for performing FTP over SSH. An FTP Adapter is included that allows you to use both components from the same interface. A discount is offered when purchasing both. Simply add the FTP component to the cart and click on recommended accessories.

The .NET FTP Component can be used in any type of .NET application. You can use the .NET FTP Library for C# FTP or VB.NET FTP. Why pay hundreds of dollars more for another FTP Library that is less reliable? Download the full list of features.

While it can be purchased separately, this product is also included in the Gold Suite. Gold Suite subscribers receive all product updates and all new products as part of a yearly subscription. It is the best value in the industry.

 

Find out about our companion .NET SFTP Component
Buy both FTP and SFTP

Features

FeatureDescription
Easy to Use The .NET FTP component has a full GUI FTP client demo is included. Source code is provided in both VB.NET and in C#.
Asynchronous/Synchronous Operation Files and entire directories can be transfered asynchronously or synchronously.
Rich Events Detailed progress and completion events for asynchronous operations.
Secure Transfers Kellerman FTP supports FTPS (FTP SSL), proxy servers, and passive mode for firewalls.
Raw Commands Kellerman .NET FTP supports raw command/response and raw directory listings.
Logging Option to log FTP activity to a file or memory stream.
Compression GZip and Deflate compression schemes can be used to compress/decompress and then transfer files.
Delete Subdirectories Delete all files and subdirectories within an FTP directory. It is also possible to specify a wildcard pattern for deleting files.
Directory Synchronization Entire directory structures can be synchronized. Kellerman FTP only transfers files that have changed, resulting in higher throughput.
Wildcards Wildcard patterns are supported for specifying files to transfer. It is also possible to specify the files to transfer by date range, file size or regular expression.
Resume Transfer Resume upload/download transfers by specifying a byte offset. Automatically determining the byte offset with ResumeUploadFile and ResumeDownloadFile. After an aborted asynchronous operation, Retry the operation even days later.
Documentation Industry standard formatted help and an easy to use demo is included.
100% Managed Code 100% managed code written in C#. No external dependencies or libraries are required except for the .NET Framework 2.0 or .NET Framework 3.x
Royalty Free Distribution Include with any .NET project royalty free.
1 Year Free Upgrades Purchase today and all upgrades are free for the next year.
60 Day Money Back Guarantee At Kellerman Software, we want you to be totally satisfied with your purchase. Receive a refund within 60 days when ordering from KellermanSoftware.com. Source code versions are non-refundable due to their nature.
Lifetime Support Lifetime E-mail technical support is included.

How does the .NET FTP Library stack up against the competition?

Download In Excel

Download a free 30 day trial today.

  • Full working version
  • Includes technical support
  • Works with .NET 2.0 and higher

Download Options

Testimonial

"We have unattended downloads to 140 computers and with the Kellerman FTP Library we were easily able to create .Net software that would ensure integrity of the files downloaded using the built in XCRC support."

Rick Jepson
www.futuresign.ca

The .NET FTP Library requires the following system configuration.

  • Windows 98, Windows 98 SE, Windows 2000 with SP4, Windows ME, Windows XP with SP2, Windows 7, Windows 8, Windows 10, Windows 2000 Server with SP4, Windows Server 2003, Windows Server 2008, Windows Server 2012, or Windows Server 2016
  • .NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, or 4.6

Testimonial
"We are using Kellerman FTP Library in our main application. It’s still under development and FTP Library helped us to write an online update tool within one day. Our customers are very pleased that they are able to get new features and bug fixes with just a few clicks. We are still very satisfied with this tool. We never run into any troubles, the support is great and the price is very reasonable."

Bodo Noering
Eidothea UG

Kellerman .NET FTP includes a winforms demo with source code in VB.NET and in C#.

Using Kellerman FTP is easy. To transfer files, simply specify the server information and call a transfer method:

FTP ftp = new FTP ();
// Set the name of the FTP server (its URL)
ftp.HostAddress = "ftp.fsz.bme.hu" ; // A Hungarian university. change this with your FTP server
ftp.UserName = "anonymus" ; // Replace with your user name
ftp.Password = "user@mail.com" ; // Replace with your password

System. Console .WriteLine( "We are downloading the a.txt file. This is a non-blocking call" );
ftp.DownloadFileAsync( "a.txt" , "a.txt" );

// we wait while this opperation takes place
while (ftp.IsBusy == true )
{
System.Threading. Thread .Sleep(100);
}
System. Console .WriteLine( "The maximum speed for downloading a.txt was {0} KBS" , ftp.KiloBytePeak);

Q: How do I use my license key?
A: FTP ftp = new FTP("my user name","my license key");

Q: I lost my license key how do I retrieve it?
A: Go to your account

Q: I lost my software how do I retrieve it?
A: Go to downloads

Q: Where can I download the latest version of my software?
A: Click the download tab.

Q: Does the FTP libary work with ASP.NET?
A: Yes, the encryption libary works with ASP.NET, Winforms, Web Services, and Windows Services

Q: Does the .Net FTP component support FTPS?
A: Yes, Kellerman .NET FTP supports FTPS commonly referred to as FTP/SSL by sending an AUTH_SSL command. It is compliant with the rfc2228 specification.

Q: I want to integrate the objects into my web based backend, is this possible?
A: Yes, you can use the FTP object with an ASP.NET back end, provided the FTP ports are allowed through by the web server firewalls.

Q: My company has 6 servers and 20 websites to synchronize, how does the licensing work? If we buy a license can I distribute it throughout all of our company websites?
A: The FTP .NET component is licensed on a per developer basis. If you are the only developer you may certainly use it on all 20 of your websites.

Q: Our current FTP .NET component has a file size limit of 2GB. What is the file size limit for Kellerman .NET FTP?
A: The file size limit is 9ZB (Zetabytes).

Q: What happens when the trial expires?
A: An exception is thrown, indicating that the trial is expired.

Q: Is Kellerman FTP compatible with .NET 3.0 and .NET 3.5?
A: Kellerman FTP is compatible with .NET 2.0 and higher.

Q: Is Kellerman FTP compatible with Windows Server 2003?
A: Kellerman FTP is compatible with Windows 98SE, Windows ME, Windows XP, Windows 2000, Windows Server 2000, Windows Server 2003, and Windows Vista.

Q: Is Kellerman FTP thread safe?
A: An instance of Kellerman FTP is required for each thread. Individual instances are thread safe.

Q: Is the directory synchronization feature recursive?
A: Yes, all directories, subdirectories, and files are synchronized.

Q: I am getting the error "Could not resolve host name" how do I fix this?
A: The ASPNET account may not have access to your DNS server. Try using either the internal IP Address or external IP address of the FTP Server.

Q: Active connections only work once without recycling app pool, how do I fix this?
A: Windows Firewall is blocking your connection. Configure the firewall to allow the FTP communication through.

DateVersionDescription
8/11/2006 1.0 Initial Release. .NET component that allows asynchronous transfers, directory synchronization, and extended progress statistics.
9/17/2006 1.01 These enhancements have been added; the ability to process files up to 9ZB (Zettabytes) in size, and an improved help file.
11/16/2006 1.02 By customer request; added the ability to restart synchronous transfers when a network connections drops.
12/2/2006 1.03 The FTP Library now allows medium trust callers. It works with the latest Microsoft IIS Security Patch.
2/14/2007 1.06 This recent update includes a new DirectoryExists FTP method. Additional progress statistics for directories and subdirectories have been added including the current directory number and the count of directories. Fixed IsBusy timing issue.
6/15/2007 1.16 New features include Get FTP Server Type, and Send Noop. Added several more directory listing formats. Fixed Time Zone List issue with Windows Vista.
3/8/2008 2.0 This new version includes faster connection handling, more detailed logging, and many other requested features by our customers.
5/13/2008 2.06 This new update includes addtional FTP Server formats and the ability to filter directory listings by date range, byte size range, wildcards, and regular expressions.
8/16/2008 2.51 This update includes compatibility fixes for EZProxy and Titan FTP. It also includes support for FEAT, HELP, STAT, and XCRC. By enabling XCRC checking, the component will automatically check the file integrity of local files compared to FTP files.
9/13/2008 2.59 This update includes a compatibility fix for Gauntlet FTP Server when using a User Proxy. It also includes support for the lesser known ACCT command.
11/17/2008 2.63 This update fixes minor defects in the demos and includes better accuracy for progress statistics.
12/20/2008 2.72 This update includes several compatibility fixes. Compatibility fix for SSL transfers with non-RFC compliant freeFTPd Server. Fix for no root directory access problem with FTP accounts. Fix for SIZE issue with ASCII files with ProFTP Server.
4/19/2009 3.0 New features include MODE Z compression, Get Directory Listing as XML, NAT Detection, CCC Support, X509 Client Certificates, SSL Certificate Debugging, SSL Stream Debugging. The auto re-connect and auto resume feature has been greatly enhanced.
4/25/2009 3.03 By request these new features were added; FileExistsByWildcard and FileExistsByRegex. This update also fixes an issue with the GetDirectoryListingByWildcard.
8/18/2009 4.0 These powerful features were added: detection of FTP servers shutting down for maintenance windows, option to manually Retry, custom async object support, detection of FTP servers that do not support resume, parsing of linked directories and files, extended progress information, extended exception information, and FTP Session Ids.
11/2/2009 4.07 This update includes support for FTP Servers that do not support the SIZE command. It also fixes; the transfer complete event being fired multiple times when an FTP directory does not exist, and duplicate size checking during transfers.
12/18/2009 4.09 This update includes support for French and Russian Unix servers with directory listings that have no line feeds. The LastException property is now cleared on connect. The file does not exist issue has been fixed.
4/14/2010 5.0 By customer request, the FTP Library now has the ability to do Synchronize Upload and with Delete. This makes it even easier for customers synchronizing web farms. The synchronization performance has also been greatly enhanced.
5/25/2010 5.06 By several customer requests these new features are included: Framework 4.0 build (Visual Studio 2010), IPV6 compatibility, and more directory parsing formats. The upper case issue with RAW FTP on Linux has been fixed.
7/9/2010 5.12 By several customer requests these new features are included: ability to specify buffer size for faster transfers, seperate failure event, automatic append for servers that don't support restart. Bug fixes: peak byte count off, delete file returns true when the file does not exist.
9/18/2010 5.23 By request the logger has been converted from static to instance so that separate FTP instances have separate logs. Root directory sync issue has been corrected for the demo. Socket timeouts have been enhanced to deal with non standard FTP Servers that disconnect after the PASV command.
11/21/2010 5.24 This update fixes multi-line welcome messages with special characters.
12/30/2010 5.32 Changes: folder and file permissions are now shown in the file info, resolve of local PC name to 127.0.0.1 when using IPV6, and Cyrillic characters are now displayed properly in directory listings.
2/24/2011 5.39 New features include: support for MLSD (Standard Directory Listing) and CLS Compliance. Fixes: synchronize upload creates directory in the root when the current directory is in the root, and after connected without action for 15 minutes IsConnected throws an exception.
4/16/2011 5.44 New feature, the ability to specify how files are synchronized, by date, by size or both. Fixes: CreateDirectory should return false if access is denied. GetDirectoryListing returns directories even when directories are requested not to be shown for some wildcard patterns. For servers that abort the transfer, if the file is already transferred completely then simply exit.
6/27/2011 5.47 Changes: allow blank FTP passwords, allow response code of 250 for an upload for MVS FTP Servers. Fix for trial mode for .NET 4.0 framework in a medium trust environment.
8/2/2011 5.48 By customer request a new method has been implemented; GetStartingBytes which allows a partial download of the first bytes of a file. This is useful for determining the file type or the headers of files.
11/30/2011 5.55 Several features have been added by customer request. New feature; Synchronize Upload and with wildcards. New feature; Any upload directory, download directory, or synchronize operation now returns a list of the files that were actually transferred. The complete event for asynchronous directory operations also have a list of the files transferred.
1/9/2012 5.57 Two compatibility issues have been addressed. The FTP now detects and handles padding of zeroes or lack of padding for XCRC responses. The FTP Library now has an option to double quote files for XCRC commands that require it.
2/10/2012 5.58 A compatibility issue has been resolved when permissions are set to denied on an FTP server for the SIZE command.
4/10/2012 5.59 By customer request, the upload synchronization now supports the ability to skip local directories with no read access.
6/26/2012 5.62 A directory listing format was added for Dragan Windows CE FTP Server.
8/18/2012 6.00 New features include MVS directory listing parsing, ability to specify the directory separator character, enhanced support for reconnect & resume for servers that do not support the SIZE command, the ability to specify excluded files for SynchronizeUpload and SyncronizeUploadWithDelete.
10/1/2012 6.01 By customer request, a FileTransferComplete event has been added.
11/5/2012 6.02 This fixes a compatibility issue with Microsoft Cloud Server.
12/21/2012 6.03 This fixes a compatibility issue with NAT with IP Addresses starting with 10.
1/4/2013 6.04 Additional logic has been added for FTP Servers that do not support the SIZE command.
2/7/2013 6.05 New features, skip files that are in use, custom logger. It also fixes a timezone compatibility issue with GetDate.
3/18/2013 6.06 By customer request, passwords are now masked in the response property of the exception. Also now supports some Windows CE FTP Servers that do not support the SIZE command. Combined paths have also been enhanced.
4/5/2013 6.08 This release has several new features requested by customers; GetAllFiles (recursively get a list of all files in a directory tree), MoveFile, better directory does not exist message when the user does not have access to a directory, and a new regex directory listing parser for Windows CE Server.
4/29/2013 6.09 This releases includes a parsing format for Omix ADA FTP Server. It also fixes a path issue in the demo.
6/25/2013 6.16 This update fixes an issue with deleting a file in the root directory on some FTP servers that incorrectly report the current working directory. Also, by customer request it adds the ability to throw an exception when there is an invalid SSL Certificate.
7/1/2013 6.18 This update fixes an SSL connection issue. Two parsing formats have also been added.
8/12/2013 6.21 Additional directory parsers included, ability to not use port 990 for implicit SSL, nicer local path verification, fixes for path combining problems.
9/17/2013 6.22 This update fixes two minor issues. There was a race condition in the demo that occured when performing an async upload and immediately performing an async download. Fix for a bug that was introduced in V6.21 where sub directories with a length of one character were not created correctly.
11/29/2013 6.23 New build for .NET Framework 4.5 and 4.5.1.
1/11/2014 6.24 By customer request, there is now a new method signature for excluding files and directories when performing a SyncDownloadWithDelete.
3/29/2014 6.24 By customer request, the library now supports UTF8Mode to support languages like cyrillic.
7/6/2014 6.30 Additional detection for some FTP servers that do not support the SIZE command. Ability to parse non-standard FTP time format. Fix for demo for creating a directory while in the middle of creating a directory. Fix for logging * when the root directory is the same as the user name.
10/4/2014 7.00 Major release. It includes the ability to synchronize directories on two different FTP servers without the use of temporary files using SiteToSiteSynchronizeDirectory. It can upload large files from one FTP site to another without the use of a temporary file using SiteToSiteTransferFile. It can create a directory and sub directories with a single line of code. It removes the dependency on System.Web so that the .NET Framework client profile can be used. There is a new cancel event that is fired when cancelling is complete.
1/7/2015 7.05 Performance improvement, remove of file exists check when not a restart.