 <p>This ought to do it with just plain .NET classes:</p> <pre><code>Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Using ms As New System.IO.MemoryStream PictureBox1.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Png) Using wc As New System.Net.WebClient wc.UploadData("ftp://foo.com/bar/mumble.png", ms.ToArray()) End Using End Using End Sub </code></pre>