• SFTPHelper


      1 public class SFTPHelper
      2     {
      3         #region 字段或属性
      4 
      5         private readonly SftpClient _sftp;
      6 
      7         /// <summary>
      8         /// SFTP连接状态
      9         /// </summary>
     10         public bool Connected
     11         {
     12             get
     13             {
     14                 return _sftp.IsConnected;
     15             }
     16         }
     17 
     18         #endregion
     19 
     20         #region 构造函数
     21 
     22         /// <summary>
     23         /// 构造1
     24         /// </summary>
     25         /// <param name="ip">IP</param>
     26         /// <param name="port">端口</param>
     27         /// <param name="user">用户名</param>
     28         /// <param name="pwd">密码</param>
     29         public SFTPHelper(string ip, string port, string user, string pwd)
     30         {
     31             _sftp = new SftpClient(ip, Int32.Parse(port), user, pwd);
     32         }
     33 
     34         /// <summary>
     35         /// 构造2
     36         /// </summary>
     37         /// <param name="host">服务器地址</param>
     38         /// <param name="user">用户名</param>
     39         /// <param name="pwd">密码</param>
     40         public SFTPHelper(string host, string user, string pwd)
     41         {
     42             _sftp = new SftpClient(host, user, pwd);
     43         }
     44 
     45         #endregion
     46 
     47         #region 连接SFTP
     48 
     49         /// <summary>
     50         /// 连接SFTP
     51         /// </summary>
     52         /// <returns>true成功</returns>
     53         private void Connect()
     54         {
     55             if (!Connected)
     56             {
     57                 _sftp.Connect();
     58             }
     59         }
     60 
     61         #endregion
     62 
     63         #region 断开SFTP
     64 
     65         /// <summary>
     66         /// 断开SFTP
     67         /// </summary> 
     68         private void Disconnect()
     69         {
     70             if (_sftp != null && Connected)
     71             {
     72                 _sftp.Disconnect();
     73             }
     74         }
     75 
     76         #endregion
     77 
     78         #region SFTP上传文件
     79 
     80         /// <summary>
     81         /// SFTP上传文件
     82         /// </summary>
     83         /// <param name="localPath">本地路径</param>
     84         /// <param name="remotePath">远程路径</param>
     85         public void UploadFile(string localPath, string remotePath)
     86         {
     87             using (var fileStream = File.OpenRead(localPath))
     88             {
     89                 Connect();
     90                 _sftp.UploadFile(fileStream, remotePath);
     91                 Disconnect();
     92             }
     93         }
     94 
     95         #endregion
     96 
     97         #region SFTP下载文件
     98 
     99         /// <summary>
    100         /// SFTP下载文件
    101         /// </summary>
    102         /// <param name="remotePath">远程路径</param>
    103         /// <param name="localPath">本地路径</param>
    104         public void DownloadFile(string remotePath, string localPath)
    105         {
    106             Connect();
    107             var byt = _sftp.ReadAllBytes(remotePath);
    108             Disconnect();
    109             File.WriteAllBytes(localPath, byt);
    110         }
    111 
    112         #endregion
    113     }
  • 相关阅读:
    Web 应用程序中的安全向量 – ASP.NET MVC 4 系列
    成员资格、授权 – ASP.NET MVC 4 系列
    数据注解和验证 – ASP.NET MVC 4 系列
    表单和 HTML 辅助方法– ASP.NET MVC 4 系列
    模型(Model)– ASP.NET MVC 4 系列
    Razor 视图引擎 – ASP.NET MVC 4 系列
    视图(View) – ASP.NET MVC 4 系列
    控制器(Controller) – ASP.NET MVC 4 系列
    简介 – ASP.NET MVC 4 系列
    一般处理程序处理图片(动态给图片加上水印、保存缩略图、验证码)
  • 原文地址:https://www.cnblogs.com/JustYong/p/4441838.html
Copyright © 2020-2023  润新知