首次提交:添加src文件夹代码
This commit is contained in:
98
Cowain.Bake.Communication/Sokects/FTPClient.cs
Normal file
98
Cowain.Bake.Communication/Sokects/FTPClient.cs
Normal file
@@ -0,0 +1,98 @@
|
||||
using FluentFTP;
|
||||
|
||||
namespace Cowain.Bake.Communication.Sokects
|
||||
{
|
||||
//全部都是远程操作
|
||||
public class FtpHelper
|
||||
{
|
||||
#region 属性与构造函数
|
||||
public string IpAddr { get; set; } /// IP地址
|
||||
public string RelatePath { get; set; } /// 相对路径
|
||||
public int Port { get; set; } /// 端口号
|
||||
public string UserName { get; set; } /// 用户名
|
||||
public string Password { get; set; } /// 密码
|
||||
//https://blog.csdn.net/fengershishe/article/details/129140618
|
||||
public FtpHelper()
|
||||
{
|
||||
}
|
||||
|
||||
public FtpHelper(string ipAddr, int port, string userName, string password, string relatePath = "")
|
||||
{
|
||||
this.IpAddr = ipAddr;
|
||||
this.Port = port;
|
||||
this.UserName = userName;
|
||||
this.Password = password;
|
||||
this.RelatePath = relatePath;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 方法
|
||||
public FtpListItem[] ListDir()
|
||||
{
|
||||
FtpListItem[] lists;
|
||||
using (var ftpClient = new FtpClient(this.IpAddr, this.UserName, this.Password, this.Port))
|
||||
{
|
||||
ftpClient.Connect(); // 连接到FTP服务器
|
||||
ftpClient.SetWorkingDirectory(this.RelatePath);
|
||||
lists = ftpClient.GetListing();
|
||||
}
|
||||
return lists;
|
||||
}
|
||||
|
||||
// 上传文件
|
||||
public bool UpLoad(string src, string desc)
|
||||
{
|
||||
using (var ftpClient = new FtpClient(this.IpAddr, this.UserName, this.Password, this.Port))
|
||||
{
|
||||
ftpClient.Connect();
|
||||
FtpStatus result = ftpClient.UploadFile(src, desc); // ("local/file.txt", "remote/file.txt");
|
||||
ftpClient.Disconnect();
|
||||
return FtpStatus.Success == result ? true : false;
|
||||
}
|
||||
}
|
||||
|
||||
///创建目录(远程创建)
|
||||
private bool CheckDirIsExists(string dir)
|
||||
{
|
||||
bool flag = false;
|
||||
using (var ftpClient = new FtpClient(this.IpAddr, this.UserName, this.Password, this.Port))
|
||||
{
|
||||
ftpClient.Connect();
|
||||
ftpClient.SetWorkingDirectory(this.RelatePath);
|
||||
flag = ftpClient.DirectoryExists(dir);
|
||||
if (!flag)
|
||||
{
|
||||
flag = ftpClient.CreateDirectory(dir); //client.CreateDirectory("remote/directory");
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
public void DeleteFile(string dir)
|
||||
{
|
||||
using (var ftpClient = new FtpClient(this.IpAddr, this.UserName, this.Password, this.Port))
|
||||
{
|
||||
ftpClient.Connect();
|
||||
ftpClient.SetWorkingDirectory(this.RelatePath);
|
||||
ftpClient.DeleteFile(dir);
|
||||
ftpClient.Disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
public bool DownloadFile(string localAddress, string remoteAddress)
|
||||
{
|
||||
using (var ftpClient = new FtpClient(this.IpAddr, this.UserName, this.Password, this.Port))
|
||||
{
|
||||
ftpClient.SetWorkingDirectory(this.RelatePath);
|
||||
ftpClient.Connect();
|
||||
if (ftpClient.DownloadFile(localAddress, remoteAddress) == FtpStatus.Success)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user