ComponentPro UltimateFtp

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

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Downloads the remote files or directories on the list to the specified local directory using multiple threads.

      Syntax

      public FileSystemTransferStatistics Download(
         IEnumerable remoteFilesToTransfer, 
         string localPath, 
         TransferOptions options, 
         int threads, 
         bool waitForThreads
      )

      Parameters

      remoteFilesToTransfer
      The list of files and directories to download, This list can contain String and FileInfoBase objects. (e.g. Download(new string[] {"/dir/file1", "file2", "dir1" }...) or Download(new object[] {"/dir/file1", fileInfo2, dirInfo1 }...))
      localPath
      The path of the local directory to receive files from the server.
      options
      The transfer options object which provides many settings to control the file transfer process.
      threads
      The number of threads used for the simultaneous file transfer.
      waitForThreads
      A boolean value indicating whether to wait for the completion of all threads. If this parameter is true, this method blocks the caller process's execution until all threads have completed; otherwise, this method immediately returns the control to the caller process.

      Return Value

      A FileSystemTransferStatistics object that contains transfer statictics and a list of processed files and directories.

      Examples

      Use 50 threads to download files simultaneously from the local disk.

      using ComponentPro;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      using (Ftp ftp = new Ftp())
      {
          // Connect to the FTP server. 
          ftp.Connect("localhost");
      
          // Authenticate. 
          ftp.Authenticate("test", "test");
      
          string[] filesAndFoldersToDownload = new string[]
                                                 {
                                                     @"/data",
                                                     @"/myfolder/content",
                                                     @"/myfiles/file1",
                                                     @"/myfiles/file2" 
                                                 };
      
          ftp.Download(
              filesAndFoldersToDownload, // List of files and folders to download. 
              "c:\\temp", // The local directory to receive files. 
              new TransferOptions(),
              50, // Use 50 threads 
              true // Wait until all the threads complete. 
              );
      }

      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