2013-04-20 5 views
1

이 요소를 알아 내려고 노력하고 있습니다. 업로드 방법을 제외하고 모두 완벽하게 작동하는 몇 가지 작업으로 ftp 모듈을 만들었습니다. 실제로 작동하지만 여전히 오류가 반환됩니다.FTP 업로드는 시간이 초과되었지만 파일을 업로드합니다.

잠시 후 시간 초과 오류가 발생하지만 내 FTP에서 파일을 확인하면 파일이 성공적으로 추가됩니다. 그래서이 기능을 이해할 수 없다 ..

내 코드 :

public static Boolean upload(string remoteFile, string localFile, string applicatie_url) { 
     Boolean returnbool = false; 

     try { 

      FtpWebRequest ftpRequest; 
      FtpWebResponse ftpResponse = null; 
      Stream ftpStream = null; 

      ftpRequest = (FtpWebRequest)FtpWebRequest.Create(host + "/" + remoteFile); 
      ftpRequest.Credentials = new NetworkCredential(user, pass); 
      ftpRequest.UseBinary = true; 
      ftpRequest.UsePassive = true; 
      ftpRequest.KeepAlive = true; 
      ftpRequest.Method = WebRequestMethods.Ftp.UploadFile; // upload 

      byte[] b = File.ReadAllBytes(localFile); 
      ftpRequest.ContentLength = b.Length; 
      ftpStream = ftpRequest.GetRequestStream(); 

      try { 

       ftpStream.Write(b, 0, b.Length); 
       ftpResponse = (FtpWebResponse)ftpRequest.GetResponse(); 
      } catch (Exception ex) { 
            // Error catching 
      } 

      // Cleanup 
      ftpStream.Close(); 
      ftpRequest = null; 
      ftpResponse = null; 
      returnbool = true; 

     } catch (Exception ex) { 
      // Error catching 
     } 

     return returnbool; 
    } 

내 ex.message을 '전송 시간이 초과되었습니다.'

내 ex.stacktrace : ''System.Net.FtpWebRequest.EndGetResponse (IAsyncResult를 asyncResult) [0x00052]에서/사용자/빌더/데이터/레인/모노 MAC-UI를 새로 고침-2-10/2baeee2f에서 /source/bockbuild/profiles/mono-2-10/build-root/mono-2.10.11/_build/mono-2.10.11.git/mcs/class/System/System.Net/FtpWebRequest.cs:411 at/Users/builder/data/lanes/mono-mac-ui-refresh-2-10/2baeee2f/source/bockbuild/profiles/mono-2-10/build-in의 System.Net.FtpWebRequest.GetResponse() [0x00009] root/mono-2.10.11/_build/mono-2.10.11.git/mcs/class/System/System.Net/FtpWebRequest.cs : 426 at AutoPolis.FTPHelper.upload (System.String remoteFile, System.String localFile , System.String applicatie_url) [0x00078] /Users/.../App_Code/FTPHelper.cs:92 '

도움이 될 것입니다. 나는 MonoDevelop와 함께 나의 Mac에서 IDE로 작동하는데 이것이이 요소에 어떤 기회가 있는지 모르겠다.

+1

파일 업로드가 완료 되었습니까? – Filip

+0

내 ftp를 확인할 때 파일 (이 경우 이미지)에 액세스 할 수 있습니다. 나는 문제없이 그것을 볼 수 있기 때문에 아무런 손상된 파일이나 이와 같은 것이 없다. 이 파일을 사용해 보았습니다. http://yosoyke.be/Veloster/Hyundai.jpg – Kevinc

답변

1

나는 몇 ftp 프로그램을 살펴 보았고 코드 정리에서 작성된 ftpResponse = null; 하지만 "ftpResponse.Close();"와 함께 갈 것입니다. stacktrace가 FTPWebRequest를 언급 한 것 같습니다. 그래서 도움이 될 것입니다!

p.s. 도움이 될 수도 있습니다 : http://www.codeproject.com/Tips/443588/Simple-Csharp-FTP-Class

+1

음, 실제로 응답을 닫지는 않았지만 실제로 정확한 오류가 발생했습니다. 나는 내 코드에서 ftpresponse가 필요 없다는 것을 알아 차렸다. 그래서 나는 그 부분을 완전히 삭제할 수 있었다. (코드는 실제로 주어진 URL을 기반으로했습니다 !!) – Kevinc