Session.GetFileToDirectory Method

Downloads one file from a remote directory to a local directory.

This is a convenient alternative to Session.GetFiles, when you want to download only one specific file to a specific local directory, keeping its original name.


public TransferEventArgs GetFileToDirectory(
    string remoteFilePath,
    string localDirectory,
    bool remove = false,
    TransferOptions options = null
Public Function GetFilesToDirectory(
    remoteFilePath As String,
    localDirectory As String,
    Optional remove As Boolean = False,
    Optional options As TransferOptions = Nothing
) As TransferEventArgs


Name Description
string remoteFilePath Full path to the remote file to download.
string localDirectory Full path to the local directory to download the file to. The directory is created, if it does not exist.
bool remove When set to true, deletes source remote file after a successful transfer. Defaults to false.
TransferOptions options Transfer options. Defaults to null, what is an equivalent to new TransferOptions().

Return Value



Exception Condition
InvalidOperationException Session is not opened.
Invalid combination of values of TransferOptions properties.
SessionLocalException Error communicating with
See the exception documentation for details.
SessionRemoteException Session has failed.
Downloading of files has failed.
See the exception documentation for details.
TimeoutException Timeout waiting for to respond.


Event Session.FileTransferred is raised. Also raises Session.FileTransferProgress throughout the transfer.

Contrary to Session.GetFiles:

  • You specify a path to the source file, not a wildcard, so you do not need to escape a literal file name.
  • You do not specify a target name (or an operation mask) in the destination path (original names are preserved when downloading).
  • You do not need to make sure that the target directory path ends with a backslash.
  • The method downloads files only. It throws when the source path points to a directory.
  • The method throws an exception on error automatically. No need to call OperationResultBase.Check.

Last modified: by martin