2013-08-23 3 views
0

난 SQL 데이터베이스에서 XML 파일 생성이 코드를 가지고 :이 파일은 ftp를하는지역 이름과 같은 FTP에 파일 이름을 생성

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(); 
    } 
} 

을 업로드에서이 코드 :

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에는 유니 코드가 있고 파일에는 파일이 없습니다.

답변

1

함수에서 쓰기가 끝나면 strFileName이됩니다.

+0

예, 맞습니다! :)하지만 지금 xml을 ftp로 복사하면 ftp의 파일 크기가 원래의 xml보다 작아집니다. 원본 xml에는 유니 코드가 있고 ftp 파일에는 코드가 없습니다 .../ – Kate

+0

내 생각 엔 파일이 바이너리가 아닌 텍스트로 보내지는 경우 UseBinary' 속성을 설정하여 강제로 시도하십시오 - http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.usebinary.aspx –

관련 문제