亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#利用SFTP實現上傳下載

2019-10-29 21:08:57
字體:
來源:轉載
供稿:網友

sftp是ftp協議的升級版本,是犧牲上傳速度為代價,換取安全性能,本人開始嘗試使用Tamir.SharpSSH.dll但它對新版本的openssh 不支持,所有采用Ssh.Net方式 需要依賴:Renci.SshNet.dll 下載鏈接

/// <summary>  /// SFTP操作類  /// </summary>  public class SFTPHelper  {    #region 字段或屬性    private SftpClient sftp;    /// <summary>    /// SFTP連接狀態    /// </summary>    public bool Connected { get { return sftp.IsConnected; } }    #endregion    #region 構造    /// <summary>    /// 構造    /// </summary>    /// <param name="ip">IP</param>    /// <param name="port">端口</param>    /// <param name="user">用戶名</param>    /// <param name="pwd">密碼</param>    public SFTPHelper(string ip, string port, string user, string pwd)    {      sftp = new SftpClient(ip, Int32.Parse(port), user, pwd);    }    #endregion    #region 連接SFTP    /// <summary>    /// 連接SFTP    /// </summary>    /// <returns>true成功</returns>    public bool Connect()    {      try      {        if (!Connected)        {          sftp.Connect();        }        return true;      }      catch (Exception ex)      {        // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("連接SFTP失敗,原因:{0}", ex.Message));        throw new Exception(string.Format("連接SFTP失敗,原因:{0}", ex.Message));      }    }    #endregion    #region 斷開SFTP    /// <summary>    /// 斷開SFTP    /// </summary>     public void Disconnect()    {      try      {        if (sftp != null && Connected)        {          sftp.Disconnect();        }      }      catch (Exception ex)      {        // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("斷開SFTP失敗,原因:{0}", ex.Message));        throw new Exception(string.Format("斷開SFTP失敗,原因:{0}", ex.Message));      }    }    #endregion    #region SFTP上傳文件    /// <summary>    /// SFTP上傳文件    /// </summary>    /// <param name="localPath">本地路徑</param>    /// <param name="remotePath">遠程路徑</param>    public void Put(string localPath, string remotePath)    {      try      {        using (var file = File.OpenRead(localPath))        {          Connect();          sftp.UploadFile(file, remotePath);          Disconnect();        }      }      catch (Exception ex)      {        // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件上傳失敗,原因:{0}", ex.Message));        throw new Exception(string.Format("SFTP文件上傳失敗,原因:{0}", ex.Message));      }    }    #endregion    #region SFTP獲取文件    /// <summary>    /// SFTP獲取文件    /// </summary>    /// <param name="remotePath">遠程路徑</param>    /// <param name="localPath">本地路徑</param>    public void Get(string remotePath, string localPath)    {      try      {        Connect();        var byt = sftp.ReadAllBytes(remotePath);        Disconnect();        File.WriteAllBytes(localPath, byt);      }      catch (Exception ex)      {        // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件獲取失敗,原因:{0}", ex.Message));        throw new Exception(string.Format("SFTP文件獲取失敗,原因:{0}", ex.Message));      }    }    #endregion    #region 刪除SFTP文件    /// <summary>    /// 刪除SFTP文件     /// </summary>    /// <param name="remoteFile">遠程路徑</param>    public void Delete(string remoteFile)    {      try      {        Connect();        sftp.Delete(remoteFile);        Disconnect();      }      catch (Exception ex)      {        // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件刪除失敗,原因:{0}", ex.Message));        throw new Exception(string.Format("SFTP文件刪除失敗,原因:{0}", ex.Message));      }    }    #endregion    #region 獲取SFTP文件列表    /// <summary>    /// 獲取SFTP文件列表    /// </summary>    /// <param name="remotePath">遠程目錄</param>    /// <param name="fileSuffix">文件后綴</param>    /// <returns></returns>    public ArrayList GetFileList(string remotePath, string fileSuffix)    {      try      {        Connect();        var files = sftp.ListDirectory(remotePath);        Disconnect();        var objList = new ArrayList();        foreach (var file in files)        {          string name = file.Name;          if (name.Length > (fileSuffix.Length + 1) && fileSuffix == name.Substring(name.Length - fileSuffix.Length))          {            objList.Add(name);          }        }        return objList;      }      catch (Exception ex)      {        // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件列表獲取失敗,原因:{0}", ex.Message));        throw new Exception(string.Format("SFTP文件列表獲取失敗,原因:{0}", ex.Message));      }    }    #endregion    #region 移動SFTP文件    /// <summary>    /// 移動SFTP文件    /// </summary>    /// <param name="oldRemotePath">舊遠程路徑</param>    /// <param name="newRemotePath">新遠程路徑</param>    public void Move(string oldRemotePath, string newRemotePath)    {      try      {        Connect();        sftp.RenameFile(oldRemotePath, newRemotePath);        Disconnect();      }      catch (Exception ex)      {        // TxtLog.WriteTxt(CommonMethod.GetProgramName(), string.Format("SFTP文件移動失敗,原因:{0}", ex.Message));        throw new Exception(string.Format("SFTP文件移動失敗,原因:{0}", ex.Message));      }    }    #endregion  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品中文字幕久久臀| 精品国产91久久久久久老师| 久久综合伊人77777尤物| 日韩视频免费观看| 国产精品视频区| 91中文字幕一区| 91久久久久久久久久久久久| 91视频免费在线| 久热精品视频在线免费观看| 国产精品中文久久久久久久| 欧美乱人伦中文字幕在线| 色噜噜狠狠狠综合曰曰曰| 久久91亚洲精品中文字幕奶水| 亚洲视频综合网| 亚洲精品电影网站| 在线播放日韩精品| 亚洲欧美国产精品专区久久| 亚洲第一国产精品| 欧美日韩免费区域视频在线观看| 日韩女优人人人人射在线视频| 久热国产精品视频| 欧美黑人巨大精品一区二区| 日韩av观看网址| 亚洲春色另类小说| 国产精品露脸av在线| 中文字幕在线日韩| 精品一区二区三区电影| 国产亚洲欧美日韩一区二区| 国产精品久久久久久久9999| 久久在线精品视频| 国产精品永久在线| 91精品国产99久久久久久| 国产欧美在线观看| 欧洲亚洲免费视频| 国产精品xxx视频| 一区二区三区 在线观看视| 亚洲人成电影网站色xx| 日本精品久久中文字幕佐佐木| 黄网动漫久久久| 91av视频在线播放| 亚洲女性裸体视频| 日韩中文在线中文网在线观看| 欧美日韩爱爱视频| 亚洲国产日韩欧美在线图片| 日本免费一区二区三区视频观看| 神马国产精品影院av| 国产精品精品久久久久久| 91亚洲va在线va天堂va国| 久久6精品影院| 欧美贵妇videos办公室| 欧美老女人bb| 欧美大片在线看免费观看| 久久久久久18| 亚洲jizzjizz日本少妇| 91精品久久久久久| 91免费欧美精品| 精品久久香蕉国产线看观看亚洲| 日本中文字幕久久看| 日韩精品久久久久| 国产精品久久久亚洲| 久久精品影视伊人网| 国产男女猛烈无遮挡91| 国产精品91在线观看| 亚洲一区二区在线| 91成人在线视频| 日韩av免费在线播放| 亚洲成人黄色在线观看| 美女久久久久久久久久久| 欧美视频在线观看 亚洲欧| 久久香蕉精品香蕉| 欧美性xxxx| 久久久精品一区二区三区| 一区二区三区在线播放欧美| 国产精品揄拍一区二区| 中日韩美女免费视频网址在线观看| 国产精品视频精品| 一本一本久久a久久精品综合小说| 国产精品久久久久久亚洲影视| 丝袜一区二区三区| 久久中文字幕视频| 国产精品久久久久久久久久新婚| 欧美第一淫aaasss性| 成人精品久久av网站| 亚洲成人av片在线观看| 亚洲精品影视在线观看| 国产精品久久久久秋霞鲁丝| 国模精品系列视频| 国产亚洲一区二区在线| 亚洲乱码一区av黑人高潮| 亚洲欧美另类自拍| 精品亚洲永久免费精品| 国产视频久久久久久久| 国产拍精品一二三| 亚洲成人xxx| 亚洲人成77777在线观看网| 国产一区二区在线播放| 亚州av一区二区| 日韩中文字幕在线| 久久久久久久色| 国内精品美女av在线播放| 欧美激情一区二区三区在线视频观看| 丝袜亚洲欧美日韩综合| 久久亚洲精品毛片| 91在线色戒在线| 欧美日韩中文字幕日韩欧美| 国产精品久久不能| 中文字幕日韩欧美在线| 98精品国产自产在线观看| 日韩成人在线视频观看| 欧美电影第一页| 国产成人精品a视频一区www| 在线免费观看羞羞视频一区二区| 亚洲精品国产福利| 午夜精品免费视频| 亚洲第一福利在线观看| 在线观看国产精品日韩av| 欧洲精品毛片网站| 最近2019中文免费高清视频观看www99| 色综合91久久精品中文字幕| 国产精品久久久久久中文字| 精品国产电影一区| 国产精品99久久久久久人| 欧美高清激情视频| 久久久久久18| 欧美日韩免费在线| 中文字幕久热精品在线视频| 国产精品久久久久av| 久久精品国产成人| 国语自产偷拍精品视频偷| 97人洗澡人人免费公开视频碰碰碰| 久久久久久久久国产精品| 亚洲人成在线一二| 精品日本美女福利在线观看| 欧美日韩国产成人高清视频| 日韩欧美在线视频日韩欧美在线视频| 国产精品永久在线| 久久久91精品国产| 精品久久久久久久久中文字幕| 亚洲精品成人免费| 国产午夜精品理论片a级探花| 免费91麻豆精品国产自产在线观看| 97在线视频国产| 亚洲成人黄色网| 亚洲国产中文字幕在线观看| 97国产suv精品一区二区62| 亚洲成人av在线播放| 国产精品一区二区久久| 亚洲一区久久久| 久久露脸国产精品| 色综合91久久精品中文字幕| 热久久免费国产视频| 日韩美女av在线免费观看| 欧美老女人性生活| 日本乱人伦a精品| 久久亚洲国产精品成人av秋霞| 国产精品国内视频| 8090成年在线看片午夜| 亚洲国产91色在线| 尤物yw午夜国产精品视频| 丝袜一区二区三区| 欧美国产日本高清在线| 最新国产成人av网站网址麻豆| 亚洲sss综合天堂久久| 视频在线观看99|