첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
유용한 소스 코드가 있으면 icodebroker@naver.com으로 보내주시면 감사합니다.
블로그 자료는 자유롭게 사용하세요.

728x90
반응형

■ FtpWebRequest 클래스 : FTP 파일 다운로드하기 예제

------------------------------------------------------------------------------------------------------------------------

string sourceFileURI  = "ftp://sample.iptime.org/download/sample.jpg";

string targetFilePath = "c:\\sample.jpg";

string userID         = "ftpid";

string password       = "ftppassword";

 

DownloadFTPFile(sourceFileURI, targetFilePath, userID, password);

------------------------------------------------------------------------------------------------------------------------

 

■ FtpWebRequest 클래스 : FTP 파일 다운로드하기

------------------------------------------------------------------------------------------------------------------------

using System;

using System.IO;

using System.Net;

 

#region FTP 파일 다운로드하기 - DownloadFTPFile(sourceFileURI, targetFilePath, userID, password)

 

/// <summary>

/// FTP 파일 다운로드하기

/// </summary>

/// <param name="sourceFileURI">소스 파일 URI</param>

/// <param name="targetFilePath">타겟 파일 경로</param>

/// <param name="userID">사용자 ID</param>

/// <param name="password">패스워드</param>

/// <returns>처리 결과</returns>

public bool DownloadFTPFile(string sourceFileURI, string targetFilePath, string userID, string password)

{

    try

    {

        Uri sourceFileUri = new Uri(sourceFileURI);

 

        FtpWebRequest ftpWebRequest = WebRequest.Create(sourceFileUri) as FtpWebRequest;

 

        ftpWebRequest.Credentials = new NetworkCredential(userID, password);

        ftpWebRequest.Method      = WebRequestMethods.Ftp.DownloadFile;

 

        FtpWebResponse ftpWebResponse = ftpWebRequest.GetResponse() as FtpWebResponse;

 

        Stream     sourceStream     = ftpWebResponse.GetResponseStream();

        FileStream targetFileStream = new FileStream(targetFilePath, FileMode.Create, FileAccess.Write);

 

        byte[] bufferByteArray = new byte[1024];

 

        while(true)

        {

            int byteCount = sourceStream.Read(bufferByteArray, 0, bufferByteArray.Length);

 

            if(byteCount == 0)

            {

                break;

            }

 

            targetFileStream.Write(bufferByteArray, 0, byteCount);

        }

 

        targetFileStream.Close();

 

        sourceStream.Close();

    }

    catch

    {

        return false;

    }

 

    return true;

}

 

#endregion

------------------------------------------------------------------------------------------------------------------------

728x90
반응형
Posted by 사용자 icodebroker

댓글을 달아 주세요