반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

폴크(FOLC)

C# 테크닉 - FTP FileDownload ( WebRequest ) 본문

C#, WF, WPF(.NET)/C#, WF, WPF(.NET) 테크닉

C# 테크닉 - FTP FileDownload ( WebRequest )

folcjin 2021. 12. 5. 19:53
728x90
반응형

# FTP : File Transfer Protocol은 TCP/IP 프로토콜을 가지고 있어서 서버(HOST)와 모듈(CLIENT) 사이의 파일 송/수신
   > TCP/IP 프로토콜 테이블의 응용 계층
   > 운영 체제가 그래픽 사용자 인터페이스를 갖추기 이전에 개발된 명령 줄 프로그램
   > 대부분의 윈도우, 유닉스, 리눅스 운영 체제에 기본 포함되어 있다.

# 소스 코드
public bool FileDownload(string src_path, string dst_path, string user_id, string user_pw)
{
   try
   {
      Uri src_file_uri = new Uri(src_path);
      FtpWebRequest ftpWebReq = WebRequest.Create(src_file_uri) as FtpWebRequest;
      ftpWebReq.Credentials = new NetworkCredential(user_id, user_pw);
      ftpWebReq.Method = WebRequestMethods.Ftp.DownloadFile;
      FtpWebResponse ftpWebRes = ftpWebReq.GetResponse() as FtpWebResponse;

      Stream src_file_stream = ftpWebRes.GetResponseStream();
      FileStream dst_file_stream = new FileStream(dst_path, FileMode.Create, FileAccess.Write);

      byte[] databufferArray = new byte[1024];

      while (true)
      {
         int data_count = src_file_stream.Read(databufferArray, 0, databufferArray.Length);
         if (data_count == 0) { break; }
         
         dst_file_stream.Write(databufferArray, 0, data_count);
      }

      dst_file_stream.Close();
      src_file_stream.Close();
   }
   catch
   {
      return false;
   }
   return true;
}

728x90
반응형
사업자 정보 표시
사업자 등록번호 : -- | TEL : --