ComponentPro UltimateFtp

      Download(String, Boolean, IEnumerable, FileSystem, String, TransferOptions) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Downloads the content of the specified remote file or directory hierarchy to the destination directory.

      Syntax

      public FileSystemTransferStatistics Download(
         string remotePath, 
         bool includeBaseDirectory, 
         IEnumerable remoteFilesToTransfer, 
         FileSystem destinationFileSystem, 
         string destinationDirectoryPath, 
         TransferOptions options
      )

      Parameters

      remotePath
      The path and name of the remote directory where the files will be downloaded to the destination folder. When the parameter remoteFilesToTransfer is a null reference, this parameter can include filtering masks to limit the files that are downloaded. For example, if ""(empty string) is specified, the entire contents of the current folder will be downloaded. If "*.txt" is used, all the files in the current folder that have the .TXT extension will be downloaded. If "/mydir/*.dat;*.cs,*.vb" is used (masks are delimited by ',', ';', and '|' characters), files with the DAT, CS, or VB extension in "/mydir" will be downloaded. If no masks specified, the whole content of the remote directory should be downloaded. The final search condition depends on the SearchCondition and SearchConditionCombinedWithMasksInSourcePath settings of the options parameter. Attention: some servers may be case-sensitive!
      includeBaseDirectory
      Indicates whether the containing directory should also be created in the destination directory. For example: Download("/MyDir/*.txt", true, null, zipSystem, "/ZipDir" ...) - if this parameter is true, "MyDir" is created in "ZipDir" and all files and dirs within "MyDir" are copied to "ZipDir/MyDir"; otherwise false, "MyDir" is not created in "ZipDir", only files and subdirectories within "MyDir" are copied to "ZipDir".
      remoteFilesToTransfer
      The list of files and directories to download, or a null reference to transfer files in the remotePath that match the search condition specified in the options parameter. This list can contain String and FileInfoBase objects. (e.g. Download("", false, new string[] {"file1", "file2", "dir1" }...) or Download("", false, new object[] {"file1", fileInfo1, fileInfo2 }...))
      destinationFileSystem
      The destination system that receives the files from the remote server.
      destinationDirectoryPath
      The path of the destination directory to receive files from the remote server.
      options
      The transfer options object which provides many settings to control the file transfer process.

      Examples

      Download files from another FTP server.

      using ComponentPro;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      using (Ftp firstFtp = new Ftp())
      {
          // Connect to the FTP server. 
          firstFtp.Connect("localhost");
      
          // Authenticate. 
          firstFtp.Authenticate("test", "test");
      
          // Create the second Ftp instance. 
          Ftp ftp2 = new Ftp();
          ftp2.Connect("mysecondserver");
      
          // Authenticate. 
          ftp2.Authenticate("test", "test");
      
          firstFtp.Download(
              "/data", // The remote directory on the 1st FTP server. 
              false, // The base directory is not include - only files and subdirectories in "/data" will be copied. 
              null,
              ftp2, // The second FTP file system 
              "/dest", // The remote directory on the 2nd FTP server. 
              new TransferOptions()
              );
      
          // Download TXT files only. 
          firstFtp.Download(
              "/data/*.txt", // The remote directory on the 1st FTP server. 
              false, // The base directory is not include - only files and subdirectories in "/data" will be copied. 
              null,
              ftp2, // The second FTP file system 
              "/dest", // The remote directory on the 2nd FTP server. 
              new TransferOptions()
              );
      
          ftp2.Disconnect();
      }

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.Ftp.CF (in ComponentPro.Ftp.CF.dll)

      .NET Framework.NET Framework

      Supported version: 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and later
      Assembly: ComponentPro.Ftp (in ComponentPro.Ftp.dll)

      Portable Class Library for Windows Phone 8.1 and Windows 8.1 Store AppsPortable Class Library for Windows Phone 8.1 and Windows 8.1 Store Apps

      Supported version: 4.6.x and later
      Assembly: ComponentPro.Ftp.WinPcl (in ComponentPro.Ftp.WinPcl.dll)

      Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)

      Supported version: 4.6.x and later
      Assembly: ComponentPro.Ftp.Uwp (in ComponentPro.Ftp.Uwp.dll)

      Xamarin AndroidXamarin Android

      Supported version: 2.3 and later
      Assembly: ComponentPro.Ftp.Android (in ComponentPro.Ftp.Android.dll)

      Xamarin MacXamarin Mac

      Supported version: 2.0.x and later
      Assembly: ComponentPro.Ftp.Mac (in ComponentPro.Ftp.Mac.dll)

      Xamarin iOSXamarin iOS

      Supported version: 5.1.x and later
      Assembly: ComponentPro.Ftp.iOS (in ComponentPro.Ftp.iOS.dll)

      See Also