2013-02-14 3 views
0

sftp를 사용하여 서버에 파일을 업로드하려고합니다. 나는 Chilkat를 다운로드하고 설치했으며 아무런 문제없이 파일을 다운로드하고있다. 하지만 서버에 파일을 업로드하려고하면 파일 업로드 중 오류가 표시되지 않습니다. 응답 메시지를 확인하면 "파일 업로드 성공 1"이 표시되고 하나는 입니다.하지만 파일이 서버에 업로드되지 않습니다.Chilkat을 사용하여 파일을 업로드 할 때 문제가 발생했습니다.

public void UploadAndMoveFile() 
     { 
      bool success = false; 
      string path = @"\\geodis\"; 
      string archive = @"\\Archive\"; 
      string[] files = Directory.GetFiles(path); 
      if (files.Count() == 0) 
      { 
//no files 
      } 

      foreach (string file in files) 
      { 
       string fileName = Path.GetFileName(file); 
       string fileSource = path + fileName; 
       string fileDestination = archive + fileName; 
       string handle; 
       string ftp = @"\IN\"+fileName; 
       handle = sftp.OpenFile(ftp, "writeOnly", "createTruncate"); 
       if (handle == null) 
       { 
        Console.WriteLine(sftp.LastErrorText); 
        return; 
       } 
       success = sftp.UploadFile(handle, fileSource); 
       if (success == true) 
       { 
        AppendLogFile("Uploading File Succeeded", "Uploade File", fileName); 
        System.IO.File.Move(fileSource, fileDestination); 
        AppendLogFile("Moving File Succeeded", "Moving File", fileName); 
       } 
       else 
       { 
        // no files 
       } 
      } 
     } 

사람이 나를 내가 잘못하고있는 중이 야 무엇인지 찾을 수 있습니다 :

이 내 코드?

답변

0

업로드 방법에서 ftp 변수 대신 변수를 처리했습니다.

public void UploadAndMoveFile() 
     { 
      bool success = false; 
      string path = @"\\geodis\"; 
      string archive = @"\\Archive\"; 
      string[] files = Directory.GetFiles(path); 
      if (files.Count() == 0) 
      { 
//no files 
      } 

      foreach (string file in files) 
      { 
       string fileName = Path.GetFileName(file); 
       string fileSource = path + fileName; 
       string fileDestination = archive + fileName; 
       string handle; 
       string ftp = @"\IN\"+fileName; 
       handle = sftp.OpenFile(ftp, "writeOnly", "createTruncate"); 
       if (handle == null) 
       { 
        Console.WriteLine(sftp.LastErrorText); 
        return; 
       } 
       success = sftp.UploadFile(ftp, fileSource); 
       if (success == true) 
       { 
        AppendLogFile("Uploading File Succeeded", "Uploade File", fileName); 
        System.IO.File.Move(fileSource, fileDestination); 
        AppendLogFile("Moving File Succeeded", "Moving File", fileName); 
       } 
       else 
       { 
        // no files 
       } 
      } 
     } 
: 여기

는 솔루션입니다
관련 문제