2016-01-07 107 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(); 
相關問題