Languages/C#2013. 2. 26. 18:49

프로젝트마다 FTP 관련 기능들을 사용할 때가 있는데요.

기본 메소드 기능들과 이 기능들을 활용하여 좀 더 다양한 기능들 구현할 때가 많았습니다.

( 디렉토리 존재여부, 경로대로 디렉토리 생성, 디렉토리 모두 삭제, 디렉토리 다운로드, 여러 파일 업로드 등.. )

 

그래서 이러한 기능들을 쉽게 사용할 수 있도록 클래스를 만들어 보았습니다.

 

 

중요 클래스는 Ftp 클래스입니다.

그 외에 관련된 필요 클래스들도 위에 보이는 것처럼 여러 개가 있습니다.

 

아래 그림은 Ftp 클래스의 메소드와 프로퍼티 이벤트입니다.

 

메소드는 WebRequestMethods.Ftp 의 기본 메소드들과 이를 응용한 확장 메소드들이 있습니다.

메소드명을 보시면 어떤 역활을 하는지 알 수 있고, summary 를 달아놔서 사용 시 어렵지는 않으실 겁니다.

 

메소드들 중 업로드와 다운로드 메소드명 뒤에 WC 라고 붙는 메소들이 있는데요.

WebClient 를 이용해서 파일 업로드, 다운로드를 진행하는 메소드이고,

일반적인 메소드는 FtpWebRequest 를 사용하여 진행합니다.

 

프로젝트시 마다 항상 필요성을 느껴서 만들게 된 메소드가 두 가지 있습니다.

DownloadDirectoryAsync( WC ) 메소드는 FTP 에 있는 폴더를 통째로 다운로드 받고,

UploadFileListAsync( WC ) 메소드는 FtpUploadDirectory 리스트를 매개변수로 받아

파일들을 모두 업로드 합니다.

 

업로드 다운로드시 필요 이벤트들을 만들어 놓았습니다.

DownloadDirectoryChanged 는 다운로드는 되는 파일 변경시 발생하고,

UploadFileListChanged 는 업로드 되는 파일 변경시 발생합니다. 

 

소스를 첨부하니 디버깅에 사용하시고, 출처는 밝혀주시면 감사하겠습니다.

사용하시면서 발생하는 문제점들에 대해서 의견 주시면 반영하도록 하겠습니다. 

 

 


 

 

FTP.zip

 

 


'Languages > C#' 카테고리의 다른 글

ClickOnce Custom BootStrapper  (0) 2015.12.01
[ C# ] Change Audio Device  (0) 2013.08.06
[ C# ] Object To Byte, Byte To Byte  (0) 2013.02.26
[ C# ] Struct To Byte, Byte To Struct  (0) 2012.08.17
[ C# ] Win32 API MouseEvent  (8) 2010.12.07
Posted by 열ㅇl