2009년 1월 31일 토요일

FTP로 파일 다운로드

using System;
//System.Net 네임 스페이스 필요
using System.Net;
...
...
void Download()
{
// 다운로드 할 파일의 FTP 절대 경로를 URI로 설정
Uri ftpUri = new Uri("ftp://127.0.0.1/myDir/myfile.txt");

WebClient wc = new WebClient();
// FTP 로그인을 위한 계정 정보 설정
wc.Credentials = new Networkcredential("UserID", "Passwd");

// 다운로드 결과 및 진행 상황을 위한 핸들러 설정 DownloadFileAsync()를 이용할 경우에만 동작함.
wc.DownloadFileCompleted += new AsyncComplietedEventHandler(wc_DownloadFileCompleted);
wc.DownloadProgressChanged += new DownloadProgressChangedEventHandler(wc_DownloadProgressChanged);
// 파일 다운로드 DownloadFile()을 이용할 경우 DownloadFileComplited, DownloadProgressChanged 이벤트를 사용할 수 없음.
wc.DownloadFileAsync(ftpUri, @"D:\myfile.txt");
wc.Dispose();
}

void wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
// 다운로드 완료시 할 일들...
}

void wc_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs)
{
// 프로그레스바에 다운로드 상태 표시
progressBar.Value = e.ProgressPercentage;
}

댓글 5개:

  1. 저기 wc 가 뭘 나타네는건가요?

    답글삭제
  2. @질문... - 2009/02/11 17:10
    WebClient 클래스의 인스턴스명입니다.

    WebClient클래스 wc를 만들어 사용하겠다고 선언한 것이죠..

    답글삭제
  3. 감사해요 ㅎㅎ 좋은정보 정말감사합니다^^ 필요했던 거라서요 ㅋ

    답글삭제
  4. @감사합니다^^ - 2009/02/11 23:04
    도움이 되었다니 저도 즐겁네요 ^^

    답글삭제
  5. 정말 감사합니다 ^^ 도움 많이 받고 갑니다

    답글삭제