WinScp上传和下载
不多说,贴代码,看不懂得可以留言。需要引入WinSCP
public class WebWinScp
{
//远程上传路径
private SessionOptions sessionOptions = null;
private WinSCP.Session session = new WinSCP.Session();
/// <summary>
///
/// </summary>
/// <param name="HostName">FTP服务器</param>
/// <param name="UserName">账号</param>
/// <param name="Password">密码</param>
/// <param name="SshPrivateKeyPath">Ssh私有密钥路径(以PPK结尾的文件)</param>
public WebWinScp(string HostName, string UserName, string Password, string SshPrivateKeyPath)
{
sessionOptions = new SessionOptions
{
Protocol = Protocol.Sftp,
HostName = HostName,
UserName = UserName,
Password = Password,
SshPrivateKeyPath = SshPrivateKeyPath,
GiveUpSecurityAndAcceptAnySshHostKey = true
};
}
/// <summary>
/// 下载FTP上的所有文件,并移除FTP上下载的问题
/// </summary>
/// <param name="localPath">本地下载路径</param>
/// <param name="remoteDoPath">远程下载路径</param>
public void Download(string localPath, string remoteDoPath)
{
try
{
//开启连接
session.Open(sessionOptions);
TransferOptions transferOptions = new TransferOptions();
//传输模式 二进制
transferOptions.TransferMode = TransferMode.Binary;
//FTP上的目录列表
RemoteDirectoryInfo directoryInfo = session.ListDirectory(remoteDoPath);
RemoteFileInfoCollection ct = directoryInfo.Files;
TransferOperationResult transferResult;
foreach (RemoteFileInfo item in ct)
{
transferResult = session.GetFiles(remoteDoPath + item.Name, localPath, true, transferOptions);
if (transferResult != null)
{
transferResult.Check();
}
}
}
catch (Exception)
{
throw;
}
finally
{
if (session.Opened)
{
session.Close();
}
}
}
/// <summary>
/// 上传本地文件到FTP上,上传成功删除本机文件
/// </summary>
/// <param name="localPath">本地上传路径</param>
/// <param name="remoteUpPath">远程上传路径</param>
public void Upload(string localPath, string remoteUpPath)
{
try
{
//开启连接
session.Open(sessionOptions);
TransferOptions transferOptions = new TransferOptions();
//传输模式 二进制
transferOptions.TransferMode = TransferMode.Binary;
TransferOperationResult transferResult = null;
transferResult = session.PutFiles(localPath, remoteUpPath, true, transferOptions);
if (transferResult != null)
{
transferResult.Check();
}
}
catch (Exception)
{
throw;
}
finally
{
if (session.Opened)
{
session.Close();
}
}
}
}
WinScp上传和下载的更多相关文章
- Winscp远程连接Linux主机,上传和下载文件
1.安装Winscp.这里不再赘述,网上搜索下载安装就可以 2.点击桌面Winscp快捷键,打开Winscp 3.在打开的页面上填写远程主机的IP,用户名和密码,点击保存,会在页面的左边出现一个站点, ...
- Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载
目录 1 通过rz/sz命令上传/下载 1.1 安装lrzsz软件 1.2 rz - 上传文件 1.3 sz - 下载文件 2 通过sftp上传/下载文件 2.1 关于SFTP的简介 2.2 SFTP ...
- Linux—文件上传和下载
一.通过SecureCRT的rz.sz实现文件的上传和下载 1.检查是否安装sz rz,命令如下 [root@localhost ~]# rpm -qa | grep rz # 上传 [root@l ...
- Xshell在Windows和Linux间文件的上传和下载
本文通过lrzsz来实现Windows和Linux间文件间的文件传输. lrzsz使用 XMODEM.YMODEM 和 ZMODEM 文件传输协议来实现文件的上传和下载.相比 FTP 或者 WinSC ...
- win7下利用ftp实现华为路由器的上传和下载
win7下利用ftp实现华为路由器的上传和下载 1. Win7下ftp的安装和配置 (1)开始->控制面板->程序->程序和功能->打开或关闭Windows功能 (2)在Wi ...
- Java实现FTP文件与文件夹的上传和下载
Java实现FTP文件与文件夹的上传和下载 FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制 ...
- java web学习总结(二十四) -------------------Servlet文件上传和下载的实现
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- Struts2入门(七)——Struts2的文件上传和下载
一.前言 在之前的随笔之中,我们已经了解Java通过上传组件来实现上传和下载,这次我们来了解Struts2的上传和下载. 注意:文件上传时,我们需要将表单提交方式设置为"POST" ...
- php实现文件上传与下载(上)
php实现文件的上传与下载是一个挺基本的功能,一般网站多多少少都会有这样的需求在内,当然不是说所有的文件都可以被上传,那这网络就太没有安全性可言了.因为接触php时间不长,今天写练练手,随笔也就是公开 ...
随机推荐
- bnuoj 33648 Neurotic Network(树形模拟题)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=33648 [题解]:结果先对MOD*2取模,才能得到结果是否是正确的奇偶问题,得到最后结果之后再对MO ...
- ExtJs3带条件的分页查询的实现
使用ExtJs的同志们一定知道GridPanel哈~神器一般,非常方便的显示表格类型的数据,例如神马用户列表.产品列表.销售单列表.XXXX列表等.从数据库中查询所需的数据,以列表的形式显示出来,我们 ...
- 【转】使用JIRA搭建企业问题跟踪系统【个人推荐】
免责声明: 本文转自网络文章,转载此文章仅为个人收藏,分享知识,如有侵权,请联系博主进行删除. 原文作者:Judy Shen的专栏 原文地址:使用JIRA搭建企业问题跟踪系统 ...
- win8双屏敲代码
23寸,AOC冠杰("AOC I2369V 23英寸LED背光超窄边框IPS广视角液晶显示器(银色)") 某东,920买入.
- 电脑问题交流QQ群
各种电脑问题交流QQ群号 164853622 系统重装 系统恢复 系统出问题 电脑主页 修改 主页 搜狗 软件卸载 顽固 病毒 讨论
- java 正则匹配空格字符串 正则表达式截取字符串
java 正则匹配空格字符串 正则表达式截取字符串 需求:从一堆sql中取出某些特定字符串: 比如配置的sql语句为:"company_code = @cc and project_id = ...
- IMP不到指定的表空间
==============================================================================只导dmp文件中的几个表数据,解决导入时ta ...
- Unity3d Detect NetState
public static bool HasConnection() { System.Net.WebClient client; System.IO.Stream stream; try { usi ...
- c++ 虚继承与继承的差异 (转)
转自:CSDN dqjyong 原文链接:http://blog.csdn.net/dqjyong/article/details/8029527 前面一篇文章,说明了在C++ 虚继承对基类构造函数调 ...
- LINUX下如何查看tomcat运行状态,判断其是否启动
1,查看Tomcat启动日志. ${catalina_home}\logs [root@iZ25b4ffkfaZ logs]# tail -f catalina.outSep 10, 2015 11: ...