If you are here because:

  • System.Net.FtpWebRequest is not available in Windows Store and Windows Universal apps.
  • Windows.Networking.BackgroundTransfer.BackgroundUploader does not support FTP uploads.

Take a look at the FtpClient GitHub project, a FTP uploader made with sockets.

To do a FTP upload, use the following C# snippet:

FtpClient client = new FtpClient();
await client.ConnectAsync(
    new HostName("example.com"),
    "21",
    "anonymous",
    "anonymous");

byte[] data = Encoding.UTF8.GetBytes("Hello world!");
await client.UploadAsync("/foo/bar.txt", data);

Read more here.