前期准备:

1.官网下载:http://winscp.net/eng/docs/lang:chs

官网C#示例:http://winscp.net/eng/docs/library#csharp

当然还有很多,自行选择

2.准备FTP站点

代码:

  private bool moveFile(Protocol FtpType, string HostName, string UserName, string Password,int PortNumber,string SshHostKeyFingerprint,string Path)
{
try
{
// Setup session options
SessionOptions sessionOptions = new SessionOptions();
sessionOptions.Protocol = FtpType;
sessionOptions.HostName = HostName;
sessionOptions.UserName = UserName;
sessionOptions.Password = Password;
sessionOptions.PortNumber = PortNumber;
if (FtpType == Protocol.Sftp)
sessionOptions.SshHostKeyFingerprint = "SshHostKeyFingerprint"; using (Session session = new Session())
{
// Connect
session.Open(sessionOptions); // Upload files
TransferOptions transferOptions = new TransferOptions();
transferOptions.TransferMode = TransferMode.Binary; TransferOperationResult transferResult;
string sourcePath = Temp["FilePath"].ToString();
if (!File.Exists(sourcePath)) { RBAppText("警告:文件不存在,已跳过"); return false; }
string fileName = System.IO.Path.GetFileNameWithoutExtension(sourcePath);
string extension = System.IO.Path.GetExtension(sourcePath); string remotePath = "/" + Path + "/" + fileName + DateTime.Now.ToString("yyyyMMddHHmmss") + extension;
transferResult = session.PutFiles(sourcePath, remotePath, true, transferOptions); // Throw on any error
transferResult.Check(); //Print results
if (transferResult.Transfers.Count < ) { RBAppText("警告:没有文件需要处理"); }
else
{
foreach (TransferEventArgs transfer in transferResult.Transfers)
{
RBAppText("提示:文件处理完成:" + transfer.FileName);
}
}
}
return true;
}
catch (Exception e)
{
RBAppText("错误:" + e.Message);
return false;
}
}

最新文章

  1. Chap3: question: 11 - 18
  2. ajax异步请求Response.Redirect重定向
  3. Java Config 下的Spring Test方式
  4. ios之如何删除默认的约束
  5. java后台进程和线程优先级
  6. 多点触摸画板(MultiTouchCanvas)
  7. ulimit 命令
  8. MyEclipse +Servlet 乱码
  9. 读取tomcat下的文件夹路径
  10. OpenLayers学习笔记4——使用jQuery UI实现測量对话框
  11. ActiveMQ相关背景(转)
  12. 使用Oracle 9i工具管理数据库 - 初学者系列 - 学习者系列文章
  13. linux下c++动态库的生成及使用
  14. OpenGL进行简单的通用计算实例
  15. Docker学习笔记(一)
  16. 深入理解springAOP切面的特性
  17. [Swift]LeetCode163. 缺失区间 $ Missing Ranges
  18. BufferedStream说明
  19. BZOJ3499 : PA2009 Quasi-template
  20. ARM的ADS汇编器和GCC汇编器

热门文章

  1. 工具类css框架
  2. Node.js 加载静态资源css,js等不显示问题的解决方法
  3. 2.15 使用web 编写一个简单记事本
  4. jQuery获取display为none的隐藏元素的宽度和高度的解决方案
  5. opencv+python+dlib人脸关键点检测、实时检测
  6. kafka cmd with ssl
  7. Intent 显示意图 隐式意图
  8. LabVIEW面向对象的ActorFramework(3)
  9. [Python3] RSA的加解密和签名/验签实现 -- 使用pycrytodome
  10. oracle11g忘记管理员密码