Я использую следующий код для отправки файла XML по FTP:
var request = (FtpWebRequest) WebRequest.Create(destination);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(UserName, Password);
byte[] fileContents;
using (StreamReader sourceStream = new StreamReader(originpath + filename))
{
fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
}
request.ContentLength = fileContents.Length;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(fileContents, 0, fileContents.Length);
}
Это похоже на работу, за исключением того, что формат файла в источнике - utf-8 с подписью , и без подписи в месте назначения.
Я пытался сохранить кодировку utf, но, похоже, потерял спецификацию.
Это проблема с моим кодом - в частности, с тем, как работает requesttream.write?