■ FtpWebRequest 클래스를 사용해 FTP 파일을 다운로드하는 방법을 보여준다.
▶ FtpWebRequest 클래스 : FTP 파일 다운로드하기 예제 (C#)
1 2 3 4 5 6 7 8 |
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 파일 다운로드하기 (C#)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
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 |