C# FTP上传下载完整教程:使用FtpWebRequest实现文件传输

本教程将指导您使用 C# 和 FtpWebRequest 类进行 FTP 文件上传和下载。我们将提供完整的代码示例,并解释代码的每个部分,以便您可以轻松理解和应用。

1. FTP上传文件

以下代码示例演示了如何使用 C# 将文件上传到 FTP 服务器:csharpstring server = 'ftp://ftp.example.com/';string username = 'your-username';string password = 'your-password';string filePath = 'path-to-local-file';string fileName = 'file-name';

string ftpUrl = server + fileName;FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl);request.Method = WebRequestMethods.Ftp.UploadFile;request.Credentials = new NetworkCredential(username, password);

byte[] fileContents;using (StreamReader sourceStream = new StreamReader(filePath)){ 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 {response.StatusDescription}');}

代码解释:

  1. 首先,我们定义了 FTP 服务器地址、用户名、密码、本地文件路径和文件名等变量。2. 然后,我们使用 FtpWebRequest.Create() 方法创建一个 FtpWebRequest 对象,并设置请求方法为 WebRequestMethods.Ftp.UploadFile。3. 接下来,我们设置请求凭据,并将本地文件读取到字节数组中。4. 然后,我们设置请求内容长度,并将文件内容写入请求流。5. 最后,我们获取 FTP 服务器响应,并输出上传状态。

2. FTP下载文件

以下代码示例演示了如何使用 C# 从 FTP 服务器下载文件:csharpstring server = 'ftp://ftp.example.com/';string username = 'your-username';string password = 'your-password';string ftpFilePath = 'path-to-remote-file';string localFilePath = 'path-to-save-file';

string ftpUrl = server + ftpFilePath;FtpWebRequest request = (FtpWebRequest)WebRequest.Create(ftpUrl);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(localFilePath)) { writer.Write(reader.ReadToEnd()); } } } Console.WriteLine($'Download File Complete, status {response.StatusDescription}');}

代码解释:

  1. 与上传代码类似,我们首先定义了 FTP 服务器地址、用户名、密码、远程文件路径和本地保存路径等变量。2. 然后,我们使用 FtpWebRequest.Create() 方法创建一个 FtpWebRequest 对象,并设置请求方法为 WebRequestMethods.Ftp.DownloadFile。3. 接下来,我们设置请求凭据,并获取 FTP 服务器响应。4. 然后,我们从响应中获取响应流,并使用 StreamReader 读取文件内容。5. 最后,我们使用 StreamWriter 将文件内容写入本地文件,并输出下载状态。

注意事项:

  • 将代码示例中的 ftp.example.com 替换为您的 FTP 服务器地址。* 将 your-usernameyour-password 替换为您的 FTP 凭据。* 将 path-to-local-filepath-to-remote-filepath-to-save-file 替换为实际的文件路径。

这只是一个基本示例,您可以根据自己的需求进行调整和扩展。例如,您可以添加错误处理、进度条等功能。

C# FTP上传下载完整教程:使用FtpWebRequest实现文件传输

原文地址: https://www.cveoy.top/t/topic/bc38 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录