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();' –