More .NET components

Common API for SFTP and FTP

Protocol-agnostic file transfer API #

SFTP and FTP - two different protocols for the same task

FTP and SFTP (implemented in Ftp and Sftp objects) are two different file transfer protocols. Implementation is completely different, but they both cover same task - transferring files over the network.

Read more about the differences between FTP, FTP/SSL, Secure FTP, SFTP and SCP.

To use both FTP and SFTP, you need two components - Rebex FTP/SSL and Rebex SFTP. Get them both in File Transfer Pack or Total Pack with a discount.

IFtp - protocol agnostic file-transfer API

IFtp interface supports most Ftp and Sftp methods, events and properties. For a list of all IFtp methods, events and properties, see IFtp reference guide.

CSharp

// declare a protocol-independent variable
IFtp client;

// get connected and authenticated FTP or SFTP object
// you have to provide your own implementation for GetIFtpInstance method
client = GetIFtpInstance();

// the remaining code works with both FTP and SFTP sessions
client.ChangeDirectory(targetDirectory);
client.PutFile(@"C:\MyData\file.txt", "file.txt");

// IFtp supports Disconnect as well
client.Disconnect();

VisualBasic

' declare a protocol-independent variable
Dim client As IFtp

' get connected and authenticated FTP or SFTP object
' you have to provide your own implementation for GetIFtpInstance method
client = GetIFtpInstance()

' the remaining code works with both FTP and SFTP sessions
client.ChangeDirectory(targetDirectory)
client.PutFile("C:\MyData\file.txt", "file.txt")

' IFtp supports Disconnect as well
client.Disconnect()

SFTP and FTP client in a single class

FileTransferClient class supports both SFTP and FTP in a single class.

This class is not included in Rebex SFTP. To get it obtain either Rebex File Transfer Pack or Rebex Total Pack.