我正在使用SharpSsh通過ASP.NET使用SFTP將文件傳輸到服務器。如何使用SFTP通過ASP.NET上傳服務器中的文件?
以下是我的源代碼。但是我得到錯誤!
using System.Collections;
using System.Threading;
using System.IO;
using Tamir.SharpSsh;
using Tamir.Streams;
protected void btnUpload_Click(object sender, EventArgs e)
{
if (fuUploadFile.HasFile)
{
string _ftpURL = "ftp://22.00.333.444/";
string _UserName = "admin";
string _Password = "admin123";
int _Port = 22;
string _ftpDirectory = "/TestFTP";
string LocalDirectory =
Server.MapPath(fuUploadFile.PostedFile.FileName);
string FileName = fuUploadFile.FileName;;
Sftp oSftp = new Sftp(_ftpURL, _UserName, _Password);
oSftp.Connect(_Port);
oSftp.Put(LocalDirectory , _ftpDirectory + "/" + FileName);
oSftp.Close();
}
}
當我嘗試運行代碼時我收到以下異常請幫助我如何解決這個問題。
System.Net.Sockets.SocketException: The requested name is valid, but no data of the requested type was found
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostByName(String hostName)
at Tamir.SharpSsh.java.net.Socket..ctor(String host, Int32 port)
at Tamir.SharpSsh.jsch.Util.createSocket(String host, Int32 port, Int32 timeout)
你混淆那個IP?因爲如果不是,它是無效的。 –
另外,我所看到的所有例子都沒有'ftp://'前綴。 –
你爲什麼要在所有變量前面加上下劃線?這不符合正常的C#約定。 – mason