Just copy the stream to the FTP request stream:
Stream requestStream = ftpRequest.GetRequestStream();
stream.CopyTo(requestStream);
requestStream.Close();
For a string (assuming the content is text):
byte[] bytes = Encoding.UTF8.GetBytes(data);
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
If the content is text, you should use text mode:
request.UseBinary = false;
source
share