본문 바로가기
C++ 200제/코딩 IT 정보

C# FTP 예제 5개 다운로드, 업로드, 삭제, 경로 설정, 콘솔 제어

by vicddory 2017. 2. 1.

C# File Transfer Protocol 소스 코드 5개



〔칸라힘이란 분의 블로그〕에 잘 정리가 되어 있네요. 아래 소스들은 칸라힘이란 분의 블로그에서 인용합니다. C#에서 FTP를 사용하기 위해선 Using System.Net을 먼저 선언해 주셔야 합니다. 맨 아래에 프로젝트 파일을 다운 받으실 수도 있어요.


C# FTP 예제 5개 다운로드, 업로드, 삭제, 경로 설정, 콘솔 제어[닷넷 네트워크 예제 소스]




파일 다운로드 File Download From FTP


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
string localPath = @"G:\FTPTrialLocalPath\";
string fileName = "arahimkhan.txt";
FtpWebRequest requestFileDownload = 
    (FtpWebRequest)WebRequest.Create("ftp://localhost/Source/" + fileName);
 
requestFileDownload.Credentials = new NetworkCredential("khanrahim""arkhan22");
requestFileDownload.Method = WebRequestMethods.Ftp.DownloadFile;
 
FtpWebResponse responseFileDownload = 
(FtpWebResponse)requestFileDownload.GetResponse();
 
Stream responseStream = responseFileDownload.GetResponseStream();
FileStream writeStream = new FileStream(localPath + fileName, FileMode.Create); 
 
int Length = 2048;
Byte[] buffer = new Byte[Length];
int bytesRead = responseStream.Read(buffer, 0, Length); 
 
while (bytesRead > 0)
{
    writeStream.Write(buffer, 0, bytesRead);
    bytesRead = responseStream.Read(buffer, 0, Length);
 
responseStream.Close();
writeStream.Close();
 
requestFileDownload = null;
responseFileDownload = null;
cs

파일 업로드 File Upload to FTP


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
string localPath = @"G:\FTPTrialLocalPath\";
string fileName = "arahimkhan.txt";
FtpWebRequest requestFTPUploader = 
(FtpWebRequest)WebRequest.Create("ftp://127.0.0.1/Destination/" +fileName);
 
requestFTPUploader.Credentials = new NetworkCredential("khanrahim""arkhan22");
requestFTPUploader.Method = WebRequestMethods.Ftp.UploadFile;
 
FileInfo fileInfo = new FileInfo(localPath + fileName);
FileStream fileStream = fileInfo.OpenRead();
 
int bufferLength = 2048;
byte[] buffer = new byte[bufferLength];
 
Stream uploadStream = requestFTPUploader.GetRequestStream();
int contentLength = fileStream.Read(buffer, 0, bufferLength);
 
while (contentLength != 0)
{
uploadStream.Write(buffer, 0, contentLength);
contentLength = fileStream.Read(buffer, 0, bufferLength);
}
 
uploadStream.Close();
fileStream.Close();
 
requestFTPUploader = null;
cs


c# ftp 예제 모음[닷넷 네트워크 예제 소스]


파일 삭제 File Delete From FTP


1
2
3
4
5
6
7
8
9
string fileName = "arahimkhan.txt";
 
FtpWebRequest requestFileDelete = 
(FtpWebRequest)WebRequest.Create("ftp://localhost/Source/" + fileName);
 
requestFileDelete.Credentials = new NetworkCredential("khanrahim""arkhan22");
requestFileDelete.Method = WebRequestMethods.Ftp.DeleteFile;
 
FtpWebResponse responseFileDelete = (FtpWebResponse)requestFileDelete.GetResponse();
cs


FTP 폴더 목록 가져오기 Retrieve File List from FTP Directory


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://localhost/Source");
request.Credentials = new NetworkCredential("khanrahim""arkhan22");
request.Method = WebRequestMethods.Ftp.ListDirectory;
 
StreamReader streamReader = new StreamReader(request.GetResponse().GetResponseStream());
 
string fileName = streamReader.ReadLine();
 
while (fileName != null)
{
Console.Writeline(fileName );
fileName = streamReader.ReadLine();
}
 
request = null;
streamReader = null;
cs


C# File Transfer Protocol 소스 코드 5개[닷넷 네트워크 예제 소스]


FTP 파일 리스트 가져오기 Retrieve File List from Local Directory:


1
2
3
4
5
6
7
string localPath = @"G:\FTPTrialLocalPath\";
string[] files = Directory.GetFiles(localPath);
foreach (string filepath in files)
{
string fileName = Path.GetFileName(filepath);
Console.WriteLine(fileName);
}
cs




Console Mode :


C Sharp - Console modeC Sharp - Console mode


FTP Request와 같이 임베디드 장비에선 모든 라이브러리를 사용할 수 없습니다. 그래서 6번 예제처럼 아예 콘솔 모드 전용으로 제작된 소스를 참조하셔도 좋습니다. 


아래는 첨부파일로 총 2개입니다.



C# File Transfer Protocol 소스 코드 5개

댓글