[C#] c#에서 FTP연결 및 파일 받기

Programming/C++_C#|2019. 1. 17. 14:10
반응형



먼저 C#에서 FTP에 있는 파일을 받기 위해 이것저것 자료를 찾다가

보여지는 랜더링과(프로세스바 등등) FTP에 있는 파일을 받는 것이 동시에 진행되어야될거 같아서 쓰레드를 분리해 작업하기로 했다.

그 부분은 더 자세히 포스팅하겠지만 BackgroundWorker라는 클래스를 썼다.(별도의 쓰레드에게 일을 시키기 위한 클래스)

 

 

 

 

- using부분


using System.ComponentModel;    

using System.IO;

using System.Net;




 

 

- FTP연결


FtpWebRequest ReqFile = WebRequest.Create( path ) as FtpWebRequest;  // 해당 FTP주소 path로 파일 자료받아옴
ReqFile.Method = WebRequestMethods.Ftp.DownloadFile;                      // 받아올 종류를 설정
ReqFile.Credentials = new NetworkCredential(아이디, 비번);                    // 연결

 

resp = ReqFile.GetResponse() as FtpWebResponse;                               // 응답데이터를 가져온다.

Stream stream = resp.GetResponseStream();                                       // 가져온 데이터를 Stream형태로 바꿔줌.




 

 

- FTP파일 받기


FileStream write = new FileStream(downPath, FileMode.Create);                 // 파일 생성할거야(쓸거야)


int iSize = 256;                                                                                // 임시로 정해둠.
Byte[] _Buffer = new byte[iSize];

int iReadByte = stream.Read(_Buffer, 0, iSize);                                         // 응답받은 FTP파일 읽어옴
long lDownSize = 0;


while (iReadByte > 0)
{
         lDownSize += iReadByte;                                                          // 이걸로 프로그래스바 진행상태 계산

         if (iPercent > 0)
             C# Form에 프로그래스바 Value값 변경해줘서 진행상태를 보여준다.


         write.Write(_Buffer, 0, iReadByte);
         iReadByte = stream.Read(_Buffer, 0, iSize);                                    // 다시 읽어오기
}

stream.Close();
write.Close();



반응형

'Programming > C++_C#' 카테고리의 다른 글

[C#] C#에서 파일 만들기 및 쓰기  (0) 2019.01.21
[C#] c# 폴더 만들기  (0) 2019.01.17
[C#] 바로가기만들기  (1) 2019.01.15
[C#] Windows Form을 이용해 런처 만들기(0)  (0) 2019.01.09
[C++] 단일 재귀 함수 호출  (0) 2018.11.14

댓글()