■ FtpWebRequest 클래스를 사용해 FTP 파일을 업로드하는 방법을 보여준다.
▶ FtpWebRequest 클래스 : FTP 파일 업로드하기 예제 (C#)
1 2 3 4 5 6 7 8 |
string sourceFilePath = "c:\\sample.jpg"; string targetFileURI = "ftp://sample.iptime.org/upload/sample.jpg"; string userID = "ftpid"; string password = "ftppassword"; UploadFTPFile(sourceFilePath, targetFileURI, 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 |
using System; using System.IO; using System.Net; #region FTP 파일 업로드하기 - UploadFTPFile(sourceFilePath, targetFileURI, userID, password) /// <summary> /// FTP 파일 업로드하기 /// </summary> /// <param name="sourceFilePath">소스 파일 경로</param> /// <param name="targetFileURI">타겟 파일 URI</param> /// <param name="userID">사용자 ID</param> /// <param name="password">패스워드</param> /// <returns>처리 결과</returns> public bool UploadFTPFile(string sourceFilePath, string targetFileURI, string userID, string password) { try { Uri targetFileUri = new Uri(targetFileURI); FtpWebRequest ftpWebRequest = WebRequest.Create(targetFileUri) as FtpWebRequest; ftpWebRequest.Credentials = new NetworkCredential(userID, password); ftpWebRequest.Method = WebRequestMethods.Ftp.UploadFile; FileStream sourceFileStream = new FileStream(sourceFilePath, FileMode.Open, FileAccess.Read); Stream targetStream = ftpWebRequest.GetRequestStream(); byte[] bufferByteArray = new byte[1024]; while(true) { int byteCount = sourceFileStream.Read(bufferByteArray, 0, bufferByteArray.Length); if(byteCount == 0) { break; } targetStream.Write(bufferByteArray, 0, byteCount); } targetStream.Close(); sourceFileStream.Close(); } catch { return false; } return true; } #endregion |