C# FTP上传、下载、删除、列目录

FTP删除:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://111.67.192.127/Data/2021年12月28日_test1.db");
request.Credentials = new NetworkCredential("用户名", "密码");
request.Method = WebRequestMethods.Ftp.DeleteFile;
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
MessageBox.Show($"{response.StatusDescription}");

.FTP上传:

WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential("用户名", "密码");
webClient.UploadFileTaskAsync("ftp://111.67.192.127/Data/220220106.db", "c:/test.txt");

FTP下载:

WebClient webClient = new WebClient();
webClient.Credentials = new NetworkCredential("用户名", "密码");
webClient.DownloadFileTaskAsync("ftp://111.67.192.127/Data/220220106.db", "c:/test.txt");

FTP列目录:

FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://111.67.192.127/");
request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
request.Credentials = new NetworkCredential("用户名", "密码");
FtpWebResponse response = (FtpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(responseStream);
textBox1.Text = reader.ReadToEnd();
textBox1.AppendText(response.StatusDescription);
reader.Close();
response.Close();

C# FTP上传、下载、删除、列目录

微软:.NET Framework 通过 FtpWebRequest 和 FtpWebResponse 类为 FTP 协议提供全面支持。 这些类派生自 WebRequest 和 WebResponse。 大多数情况下,WebRequest 和 WebResponse 类提供发出请求所需的所有事项,但如果需要访问作为属性公开的 FTP 特定功能,可以将这两个类转换为 FtpWebRequest 或 FtpWebResponse。

备注:

本文专门针对面向 .NET Framework 的项目。对于面向 .NET 6 及更高版本的项目,不再支持 FTP。

“WebRequest已过时:“WebRequest, HttpWebRequest, ServicePoint, and WebClient are obsolete. Use HttpClient instead.

说明:从.net6开始,WebRequest,HttpWebRequest,ServicePoint,WebClient 已过时,请用HttpClient 代替,而且HttpClient 不再支持FTP了。看来微软打算放弃FTP了。