[C#] c#에서 FTP연결 및 파일 받기
먼저 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 |