ComponentPro UltimateFtp

      GetUploadStream(String) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Retrieves a direct access to the write-only data stream to send to.


      public Stream GetUploadStream(
         string remotePath


      The filename of the file to write to. Some FTP servers may be case-sensitive.

      Return Value

      A Stream for writing data to the remote file.


      Because the FTP protocol does not support processing multiple commands or transfers at the same time, the stream has to be closed before any other FTP operation can be used.

      By default, the file will be uploaded to the current working directory. If you want to upload the file to another location, you could use the SetCurrentDirectory method to change the current working directory. Absolute paths can also be provided. However, some FTP servers might not support absolute paths, and different server types may have different ways of representing absolute paths. The current working directory can be retrieved via the GetCurrentDirectory method.


      Shows how to use GetUploadStream method to decompress a file and upload to the server.

      using System;
      using System.IO;
      using ComponentPro.Compression;
      using ComponentPro.Net;
      // Create a new class instance.
      Ftp client = new Ftp();
      // Connect to the FTP server.
      // Authenticate.
      client.Authenticate("test", "test");
      // ... 
      // Get upload stream for remote file 'compressed.z'.
      Stream ostream = client.GetUploadStream("/compressed.z");
      // Create new file
      FileStream fi = new FileStream("d:\\temp\\uncompressed.dat", FileMode.Open, FileAccess.Read);
      // Create a new instance of the ZlibInputStream for the compression.
      ZlibStream zs = new ZlibStream(ostream, 9);
      byte[] buf = new byte[8192];
      int read;
      while ((read = fi.Read(buf, 0, 8192)) > 0) // Read from the Zlib stream.
          zs.Write(buf, 0, read); // And write to the upload stream.
      // ... 
      // Disconnect.


      .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