Table of Contents

Namespace FluentFTP

Classes

AsyncFtpClient

An FTP client that manages a connection to a single FTP server. Interacts with any FTP/FTPS server and provides a high-level and low-level API to work with files and folders. Uses asynchronous operations only. For the sync version use FtpClient.

Debugging problems with FTP is much easier when you enable logging. Visit our Github Wiki for more info.

FtpClient

An FTP client that manages a connection to a single FTP server. Interacts with any FTP/FTPS server and provides a high-level and low-level API to work with files and folders. Uses synchronous operations only. For the async version use AsyncFtpClient.

Debugging problems with FTP is much easier when you enable logging. Visit our Github Wiki for more info.

FtpClientState

The current "state" of the client

FtpConfig

Holds all the configuration settings for a single FTP client. One FtpConfig object can only be bound to one client at a time. If you want to reuse it across multiple FTP clients, then clone it and then reuse it.

FtpDataStream

Base class for data stream connections

FtpFxpSession

Object that keeps track of an active FXP Connection between 2 FTP servers.

FtpFxpSessionAsync

Object that keeps track of an active FXP Connection between 2 FTP servers.

FtpHash

Represents a computed hash of an object on the FTP server. See the following link for more information: http://tools.ietf.org/html/draft-bryan-ftpext-hash-02

FtpListItem

Represents a file system object on the server

FtpProfile

The current "profile" defining the client

FtpProgress

Class to report FTP file transfer progress during upload or download of files

FtpProxyProfile

Connection profile for a proxy connection.

FtpResult

Stores the result of a file transfer when UploadDirectory or DownloadDirectory is used.

FtpSizeReply

Reply from a SIZE command

FtpSocketStream

Stream class used for talking. Used by FtpClient, extended by FtpDataStream

FtpSslValidationEventArgs

Event args for the FtpSslValidationError delegate

Structs

FtpLogEntry

Metadata of a single log message.

FtpReply

Represents a reply to an event on the server

Interfaces

IAsyncFtpClient

Interface for the AsyncFtpClient class. For detailed documentation of the methods, please see the FtpClient class or check the Wiki on the FluentFTP Github project.

IBaseFtpClient

Base object for FtpClient, AsyncFtpClient and the internal client

IFtpClient

Interface for the FtpClient class. For detailed documentation of the methods, please see the FtpClient class or check the Wiki on the FluentFTP Github project.

IFtpLogger
IInternalFtpClient

Interface for the InternalFtpClient class. For detailed documentation of the methods, please see the FtpClient class or check the Wiki on the FluentFTP Github project.

Enums

FtpCapability

Server features

FtpCompareOption

Flags that control how file comparison is performed. If you are unsure what to use, set it to Auto.

FtpCompareResult

The result of a file comparison operation.

FtpDataConnectionType

Data connection type

PASV, EPSV, PORT, EPRT correspond directly to the "classic" FTP connection types available on most "modern" FTP servers. These are subject to the well known caveats and you might like to examine the following enhanced alternatives:

AutoActive, AutoPassive are FluentFTP extensions to make a fallback to the non-extended versions of EPSV and EPRT automatic if not supported.

PassiveExtended delivers the functionality of EPSV on servers that do not support this command.

PassiveAllowUnroutable makes using PASV work inside local networks.

FtpDataType

Type of data transfer to do

FtpDate

Controls how timestamps returned by the server are converted.

FtpEncryptionMode

Defines the type of encryption to use

FtpError

Defines how multi-file processes should handle a processing error.

FtpExists

This enum is obsolete. Please use FtpRemoteExists instead.

FtpFolderSyncMode

Determines how we handle downloading and uploading folders

FtpHashAlgorithm

Different types of hashing algorithms for computing checksums.

FtpIpVersion

IP Versions to allow when connecting to a server.

FtpListOption

Flags that can control how a file listing is performed. If you are unsure what to use, set it to Auto.

FtpLocalExists

Determines how we handle partially downloaded files

FtpNavigate

Directory navigation mode that control how server-side directory traversal is performed. Manual mode is the legacy version which allows users full control of the working directory. All the other modes are smarter automatic versions where FluentFTP will take control of the working directory when executing FTP subcommands that accept a pathname[+filename] combination.

FtpObjectSubType

Type of file system of object

FtpObjectType

Type of file system of object

FtpOperatingSystem

Defines the operating system of the FTP server.

FtpOperator

For setting up rules

FtpParser

The type of response the server responded with

FtpPermission

Types of file permissions

FtpRemoteExists

Defines the behavior for uploading/downloading files that already exist

FtpResponseType

The type of response the server responded with

FtpServer

Defines the type of the FTP server software. Add constants here as you add detection scripts for individual server types.

FtpSpecialPermissions

Types of special UNIX permissions

FtpStatus

The result of an upload or download operation

FtpTraceLevel

Defines the level of the tracing message. Depending on the framework version this is translated to an equivalent logging level in System.Diagnostices (if available)

FtpVerify

Defines if additional verification and actions upon failure that should be performed when uploading/downloading files using the high-level APIs. Ignored if the FTP server does not support any hashing algorithms.

FtpVerifyMethod

Defines which verification types should be performed when uploading/downloading files using the high-level APIs. Multiple verification types can be combined.

FtpZOSListRealm

Flags that can control how a file listing is performed. If you are unsure what to use, set it to Auto.

FtpsBuffering

Determines how SSL Buffering is handled

Delegates

CustomRemoteCertificateValidationCallback

Callback for any custom streams to handle certificate validation

FtpConfig.CustomParser

Callback format to implement your custom FTP listing line parser.

FtpSocketStreamSslValidation

Event fired if a bad SSL certificate is encountered. This even is used internally; if you don't have a specific reason for using it you are probably looking for FtpSslValidation.

FtpSslValidation

Event is fired when a SSL certificate needs to be validated