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