반응형
//폼디자인 도구에서 progressBar 추가
using System.Net;

WebClient myWebClient = new WebClient();

// 이벤트 핸들러 선언
// 업로드 중일때 이벤트
myWebClient.UploadProgressChanged += new UploadProgressChangedEventHandler(UploadProgressCallback);

// 업로드가 완료되었을때 이벤트
myWebClient.UploadFileCompleted += new UploadFileCompletedEventHandler(ploadFileCompleted);

//업로드 중일때 콘솔에 몇 바이트씩 다운로드 받는지 찍기
void UploadProgressCallback(object sender, UploadProgressChangedEventArgs e)
{
	Console.WriteLine("{0} uploaded {1} of {2} bytes. {3} % complete...",
	(string)e.UserState, e.BytesSent, e.TotalBytesToSend, Math.Truncate
    (((double)e.BytesSent / (double)e.TotalBytesToSend) * 100));
    
	progressBar1.Value = int.Parse(Math.Truncate
    (((double)e.BytesSent / (double)e.TotalBytesToSend) * 100).ToString());

}

//업로드가 완료되었을 때 이벤트핸들러
void ploadFileCompleted(object sender, UploadFileCompletedEventArgs e)
{
	try
	{
		string Result = Encoding.UTF8.GetString(e.Result); //파일 업로드 완료후 리턴된 string
		Console.WriteLine("Return Value : " + Result);
	}
	catch (Exception ex)
	{
		Console.WriteLine("Return Execption : " + ex);
	}
}
반응형

+ Recent posts