資源簡介
添加引用Tamir.SharpSSH.dll,實現SFTP上傳、下載、刪除文件操作
內含所需dll及實例,請放心使用
內含所需dll及實例,請放心使用

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Text;
using?Tamir.SharpSsh.jsch;
using?System.Collections;
namespace?SFTPHelper
{
????public?class?SFTPClass
????{
????????private?Session?m_session;
????????private?Channel?m_channel;
????????private?ChannelSftp?m_sftp;
????????//private?Tamir.SharpSsh.jsch.examples.Sftp.MyProgressMonitor?m_monitor;
????????//host:sftp地址???user:用戶名???pwd:密碼????????
????????public?SFTPClass(string?host?string?user?string?pwd)
????????{
????????????string[]?arr?=?host.Split(‘:‘);
????????????string?ip?=?arr[0];
????????????int?port?=?22;
????????????if?(arr.Length?>?1)?port?=?Int32.Parse(arr[1]);
????????????JSch?jsch?=?new?JSch();
????????????m_session?=?jsch.getSession(user?ip?port);
????????????MyUserInfo?ui?=?new?MyUserInfo();
????????????ui.setPassword(pwd);
????????????m_session.setUserInfo(ui);
????????}
????????//SFTP連接狀態????????
????????public?bool?Connected?{?get?{?return?m_session.isConnected();?}?}
????????//連接SFTP????????
????????public?bool?Connect()
????????{
????????????try
????????????{
????????????????if?(!Connected)
????????????????{
????????????????????m_session.connect();
????????????????????m_channel?=?m_session.openChannel(“sftp“);
????????????????????m_channel.connect();
????????????????????m_sftp?=?(ChannelSftp)m_channel;
????????????????}
????????????????return?true;
????????????}
????????????catch
????????????{
????????????????return?false;
????????????}
????????}
????????//斷開SFTP????????
????????public?void?Disconnect()
????????{
????????????if?(Connected)
????????????{
????????????????m_channel.disconnect();
????????????????m_session.disconnect();
????????????}
????????}
????????//SFTP存放文件????????
????????public?bool?Put(string?localPath?string?remotePath)
????????{
????????????try
????????????{
????????????????Tamir.SharpSsh.java.String?src?=?new?Tamir.SharpSsh.java.String(localPath);
????????????????Tamir.SharpSsh.java.String?dst?=?new?Tamir.SharpSsh.java.String(remotePath);
????????????????m_sftp.put(src?dst);
????????????????return?true;
????????????}
????????????catch
????????????{
????????????????return?false;
????????????}
????????}
????????//SFTP獲取文件????????
????????public?bool?Get(string?remotePath?string?localPath)
????????{
????????????try
????????????{
????????????????Tamir.SharpSsh.java.String?src?=?new?Tamir.SharpSsh.java.String(remotePath);
????????????????Tamir.SharpSsh.java.String?dst?=?new?Tamir.SharpSsh.java.String(localPath);
????????????????//m_sftp.get(src?dst?m_monitor?ChannelSftp.OVERWRITE);
????????????????m_sftp.get(src?dst);
????????????????return?true;
????????????}
????????????catch
????????????{
????????????????return?false;
????????????}
????????}
????????//刪除SFTP文件
????????public?bool?Delete(string?remoteFile)
????????{
????????????try
????????????{
????????????????m_sftp.rm(remoteFile);
????????????????return?true;
?????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????200704??2012-09-03?08:54??Tamir.SharpSSH類庫及引用實例\bin\Tamir.SharpSSH.dll
?????文件???????4592??2015-06-04?15:58??Tamir.SharpSSH類庫及引用實例\SFTPClass.cs
?????文件????????661??2015-06-04?16:10??Tamir.SharpSSH類庫及引用實例\SFTPTest.aspx
?????文件???????1276??2015-06-04?16:11??Tamir.SharpSSH類庫及引用實例\SFTPTest.aspx.cs
?????目錄??????????0??2015-06-04?16:14??Tamir.SharpSSH類庫及引用實例\bin
?????目錄??????????0??2015-06-04?16:14??Tamir.SharpSSH類庫及引用實例
-----------?---------??----------?-----??----
???????????????207233????????????????????6
評論
共有 條評論