2016-01-07 81 views
0

所以这是我的代码,我基本上从SharpSSH网站上复制并粘贴。当试图上传文件到SFTP远程服务器时出现SharpSSH异常

Sftp oSftp = new Tamir.SharpSsh.Sftp(_ftpURL, _UserName, _Password); 
oSftp.Connect(_Port); 
oSftp.Put(LocalDirectory + "/" + FileName, _ftpDirectory + "/" + FileName); 
oSftp.Close(); 

当我运行它,我得到一个“第一次机会异常”上oSftp.Connect(_Port)

A first chance exception of type 'Tamir.SharpSsh.jsch.JSchException' occurred in Tamir.SharpSSH.dll 

有谁经历过SharpSSH有任何想法,为什么发生这种情况?我也尝试使用Rubex上传文件到服务器,但它给了我同样的错误。

+0

如果我是你,我会改技术,我会用SSHNET超过SharpSsh。这里有一个链接,可能会帮助你:http://stackoverflow.com/questions/11781808/sftp-ssh-net-dll-instead-of-sharpssh – billybob

+0

你不是偶然尝试连接到FTPS服务器与SFTP?什么是您的端口号码? –

+0

不幸的是,没有对协议进行任何说明。它必须是SSH而不是FTPS? –

回答

0

首先,您只需要传递服务器的文件夹路径,并且不要在该路径中指定文件名。

oSftp.Put(LocalDirectory +“/”+ FileName,_ftpDirectory);

,并且确保你有下面的包添加来自的NuGet

安装,包装DiffieHellman 安装,包装Org.Mentalis.Security要上载

0

只是检查您的文件和路径的路径sftp

例如:

Sftp sftp=new Sftp("host","username","pass"); 
sftp.Connect(); 

sftp.Put("path of your local file","path to upload file on sftp server"); 

sftp.Close(); 
相关问题