Skip to content

Instantly share code, notes, and snippets.

@modulexcite
Forked from DavidDeSloovere/upload.cs
Created September 26, 2018 18:47
Show Gist options
  • Select an option

  • Save modulexcite/e5e1207a91055fe95ec0acec4a344c2f to your computer and use it in GitHub Desktop.

Select an option

Save modulexcite/e5e1207a91055fe95ec0acec4a344c2f to your computer and use it in GitHub Desktop.

Revisions

  1. @DavidDeSloovere DavidDeSloovere created this gist Nov 17, 2016.
    29 changes: 29 additions & 0 deletions upload.cs
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,29 @@
    const string host = "domainna.me";
    const string username = "chucknorris";
    const string password = "norrischuck";
    const string workingdirectory = "/highway/hell";
    const string uploadfile = @"c:\yourfilegoeshere.txt";

    Console.WriteLine("Creating client and connecting");
    using (var client = new SftpClient(host, port, username, password))
    {
    client.Connect();
    Console.WriteLine("Connected to {0}", host);

    client.ChangeDirectory(workingdirectory);
    Console.WriteLine("Changed directory to {0}", workingdirectory);

    var listDirectory = client.ListDirectory(workingdirectory);
    Console.WriteLine("Listing directory:");
    foreach (var fi in listDirectory)
    {
    Console.WriteLine(" - " + fi.Name);
    }

    using (var fileStream = new FileStream(uploadfile, FileMode.Open))
    {
    Console.WriteLine("Uploading {0} ({1:N0} bytes)", uploadfile, fileStream.Length);
    client.BufferSize = 4 * 1024; // bypass Payload error large files
    client.UploadFile(fileStream, Path.GetFileName(uploadfile));
    }
    }