C# FTP上传下载完整教程:使用FtpWebRequest实现文件传输
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}');}
代码解释:
- 首先,我们定义了 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}');}
代码解释:
- 与上传代码类似,我们首先定义了 FTP 服务器地址、用户名、密码、远程文件路径和本地保存路径等变量。2. 然后,我们使用
FtpWebRequest.Create()方法创建一个FtpWebRequest对象,并设置请求方法为WebRequestMethods.Ftp.DownloadFile。3. 接下来,我们设置请求凭据,并获取 FTP 服务器响应。4. 然后,我们从响应中获取响应流,并使用StreamReader读取文件内容。5. 最后,我们使用StreamWriter将文件内容写入本地文件,并输出下载状态。
注意事项:
- 将代码示例中的
ftp.example.com替换为您的 FTP 服务器地址。* 将your-username和your-password替换为您的 FTP 凭据。* 将path-to-local-file、path-to-remote-file和path-to-save-file替换为实际的文件路径。
这只是一个基本示例,您可以根据自己的需求进行调整和扩展。例如,您可以添加错误处理、进度条等功能。
原文地址: https://www.cveoy.top/t/topic/bc38 著作权归作者所有。请勿转载和采集!