C#操作ftp类完整实例
在C#中,可以使用FtpWebRequest类对FTP服务器进行操作。这个类提供了一种与FTP服务器进行通信的标准方法。
实例1:上传文件到FTP服务器
string ftpAddress = "ftp://ftp.example.com/";
string userName = "username";
string password = "password";
string fileName = "example.txt";
string sourceFilePath = @"C:\Files\example.txt";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpAddress + fileName);
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(userName, password);
byte[] fileContents;
using (StreamReader sourceStream = new StreamReader(sourceFilePath))
{
fileContents = Encoding.UTF8.GetBytes(sourceStream.ReadToEnd());
}
request.ContentLength = fileContents.Length;
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(fileContents, 0, fileContents.Length);
}
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
Console.WriteLine("Upload File Complete, status {0}", response.StatusDescription);
}
这段代码演示了如何将本地文件上传到FTP服务器。在本例中,使用FtpWebRequest.Create方法创建了一个用于上传文件的请求对象,然后通过设置请求的Method属性为UploadFile,将请求的方法设置为FTP的UploadFile方法。接着通过NetworkCredential为要访问的FTP服务器提供用户名和密码。接下来使用StreamReader类读取本地文件中的内容,并将其转换为字节数组。设置请求的ContentLength属性为文件内容的长度。最后,将文件内容写入请求的流中,然后从服务器获取响应。
实例2:从FTP服务器下载文件
string ftpAddress = "ftp://ftp.example.com/";
string userName = "username";
string password = "password";
string serverFilePath = "/example/example.txt";
string destinationFilePath = @"C:\Files\destination.txt";
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpAddress + serverFilePath);
request.Method = WebRequestMethods.Ftp.DownloadFile;
request.Credentials = new NetworkCredential(userName, password);
using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
{
using (Stream responseStream = response.GetResponseStream())
{
using (StreamReader reader = new StreamReader(responseStream))
{
using (StreamWriter writer = new StreamWriter(destinationFilePath))
{
writer.Write(reader.ReadToEnd());
}
}
}
Console.WriteLine("Download File Complete, status {0}", response.StatusDescription);
}
这段代码演示了如何从FTP服务器下载文件。使用FtpWebRequest.Create方法创建了一个用于下载文件的请求对象,然后通过设置请求的Method属性为DownloadFile,将请求的方法设置为FTP的DownloadFile方法。还是通过NetworkCredential为要访问的FTP服务器提供用户名和密码。接下来从服务器获取响应,并使用ResponseStream属性获取响应的数据流。使用StreamReader读取响应流的内容,并将其写入目标文件。最后,从服务器获取响应并打印内容。
以上是C#操作ftp类的完整实例攻略。可以根据个人需要,结合实际环境进行灵活使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#操作ftp类完整实例 - Python技术站