C# 在FTP上创建与本地名称相同的文件名

C# 在FTP上创建与本地名称相同的文件名,c#,ftp,filenames,C#,Ftp,Filenames,我有以下代码,其中我从sql数据库生成xml文件: int counter; int counter2; private void GenerovaniVse() { SqlConnection con = new SqlConnection("Data Source=****"); string strSQL = "select w.KOD_...."; SqlDataAdapter dt = new SqlDataAdapter(s

我有以下代码,其中我从sql数据库生成xml文件:

    int counter;
    int counter2;
private void GenerovaniVse()
{
  SqlConnection con = new SqlConnection("Data Source=****");
  string strSQL = "select w.KOD_....";                
  SqlDataAdapter dt = new SqlDataAdapter(strSQL, con);
  DataSet ds = new DataSet("ITEMS");
  dt.Fill(ds, "ITEM");
  FileStream strFileName = File.Create(@"C:\\Users\\L\\Desktop\\" + (counter++) + ".xml");
  XmlWriterSettings settings = new XmlWriterSettings();
  settings.Encoding = Encoding.Unicode;

  using (XmlWriter xmlWriter = XmlWriter.Create(strFileName, settings))
    {
      ds.WriteXml(xmlWriter);
      xmlWriter.Close();
    }
}
此代码来自将此文件上载到ftp:

private void Upload()
 {
   FileInfo f = new FileInfo("C:\\Users\\L\\Desktop\\" + (counter2) + ".xml");
   long original_vel = f.Length; 
   FtpWebRequest request = (FtpWebRequest)WebRequest.Create(*****);
   request.Method = WebRequestMethods.Ftp.GetFileSize;
   request.Method = WebRequestMethods.Ftp.UploadFile;
   request.Credentials = new NetworkCredential("***", "***");

   StreamReader sourceStream = new StreamReader(??????);
   byte[] fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
   sourceStream.Close();
   request.ContentLength = fileContents.Length;
   long ftp_vel = request.ContentLength; //velikost souboru na ftp      
   Stream requestStream = request.GetRequestStream();
   requestStream.Write(fileContents, 0, fileContents.Length);
   requestStream.Close();
   FtpWebResponse response = (FtpWebResponse)request.GetResponse();
                counter2++;
                response.Close();                         
}
问题出在:strmfile.Close();
但现在当我把xml复制到ftp时,ftp上的文件比原始xml小…原始xml上有Unicode,ftp文件中没有任何代码

granovanivse
函数中完成写入后,可能需要关闭
strFileName

是的,对!:)但现在,当我将xml复制到ftp时,ftp上的文件比原始xml小…而原始xml上我有Unicode,ftp文件中没有任何代码…:/i我猜文件是以文本而不是二进制形式发送的,请尝试通过设置
useBarial
属性强制发送-