0
我想在C#中保存一個sftp文件。我有found this example on SaveFileDialog但我不能讓它在我的應用程序中工作(其實,我得到一個錯誤,每當我嘗試使用SaveFileDialog
說它不存在,我能不能解決問題)SFTP幫助。保存在C#文件#
這是正確的方式保存文件?我不是單擊按鈕,而是從另一個位置獲取sftp文件,並將其保存在本地,以便我可以對其執行一些命令。
如果有幫助,我正在使用Microsoft Visual Studio 2010。
編輯:我想我把人們與我發現的例子搞混了。以下是我如何獲取文件:
protected void Page_Load(object sender, EventArgs e)
{
Sftp sftp = new AmexSFTP.src.Sftp(Config.sSFTPUrl,
Config.sSFTPAccount,
Config.sSFTPPasswd);
// Connect to SFTP server
sftp.Connect();
List<string> InputFiles = sftp.GetFileList("output");
//Save files in for each loop here...
....}
public Sftp(string sftpHost, string user, string password)
: base(sftpHost, user, password)
{
Init();
}
private void Init()
{
m_monitor = new MyProgressMonitor(this);
}
public List<string> GetFileList(string path)
{
List<string> list = new List<string>();
foreach (Tamir.SharpSsh.jsch.ChannelSftp.LsEntry entry in SftpChannel.ls(path))
{
list.Add(entry.getFilename().ToString());
}
return list.ToList();
}
也許SaveFileDialog不正確?這是我發現我所有的谷歌結果,所以我認爲它是。
謝謝!
OpenFile是否實際創建一個文件呢? – mtijn
你想讓用戶看到一個對話框,或者你可以保存文件,而無需用戶輸入嗎? –
@ James-我想在沒有用戶輸入的情況下保存文件。這些文件保存在我想訪問的另一個sftp站點上。我用這個代碼來獲取文件:'List list = new List (); foreach(在SftpChannel.ls(路徑)中的Tamir.SharpSsh.jsch.ChannelSftp.LsEntry條目){list.Add(entry .getFilename()。ToString());} return list.ToList();' –