레이블이 다운로드인 게시물을 표시합니다. 모든 게시물 표시
레이블이 다운로드인 게시물을 표시합니다. 모든 게시물 표시

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;
}