FTP/SFTP接続を使用してリモートサーバーのディレクトリを検索するツリービューを作成しようとしています。行うには、次の例のようにホームディレクトリから始まるすべての使用可能なディレクトリでツリービューを充填開始です:ユーザーは、各フォルダをクリック起動したときWinSCPとC言語のリモートディレクトリからツリービューのノードを追加する方法
Home---->SubFolder
|
|---->Another Folder
|
|---->MyOtherFolder
そして、それは、ツリービューからそのサブディレクトリを表示するために開始次の例(別のフォルダをクリック)として:
Home ---->SubFolder
|
|---->Another Folder -------> MyFolder1
| | -------> MyFolder2
|
|---->MyOtherFolder
private void FillTree()
{
SessionOptions SessionOptions = new SessionOptions();
Session MySession = new Session();
SessionOptions.HostName = InterfaceValues[0];
SessionOptions.UserName = InterfaceValues[2];
SessionOptions.Password = InterfaceValues[3];
SessionOptions.PortNumber = Convert.ToInt32(InterfaceValues[1]);
if (string.Compare(InterfaceValues[9], "FTP", true) == 0)
SessionOptions.Protocol = WinSCP.Protocol.Ftp;
else if (string.Compare(InterfaceValues[9], "SFTP", true) == 0)
{
SessionOptions.Protocol = WinSCP.Protocol.Sftp;
SessionOptions.SshPrivateKeyPath = InterfaceValues[12];
SessionOptions.SshHostKeyFingerprint = InterfaceValues[10];
}
try
{
MySession.Open(SessionOptions);
foreach (RemoteFileInfo info in MySession.EnumerateRemoteFiles("/", "*", EnumerationOptions.AllDirectories))
{
if (info.IsDirectory)
tvRemoteDirectory.Nodes.Add(info.Name);
}
MySession.Close();
}
catch (Exception ex)
{
MySession.Close();
MessageBox.Show("Not possible to connect to " + InterfaceValues[0] + "\nError Message: " + ex.Message);
this.Close();
}
....これは私が持っているコードです....
を私はこれらのフォルダを取得しようとしているが、それは例外を投げ、またそれはファイルではなくフォルダを集めています私は取得しています例外は次のとおりです。
{WinSCP.SessionRemoteException: Error listing directory '/jpm_icl'. ---> WinSCP.SessionRemoteException: Permission denied. Error code: 3 Error message from server: Permission Denied!
私はこの時点で何ができるかを任意のアイデア?使用RadFileExplorer - Telerik ASP.NET FileExplorer
エラーを無視するか、許可を得てください。 – SLaks
私はこれを試しました: 'RemoteDirectoryInfo RemoteDirectory = MySession.ListDirectory("/"); foreach(RemoteDirectory.FilesのRemoteFileInfoファイルインフォメーション) { //tvRemoteDirectory.Nodes.Add(fileinfo.Name); } 「 」が取得されています。 ".."と "jpm_icl"しかし、私はアイデアを持っていません "jpm_icl"については、私はそのフォルダを見ることができません –
あなたは例外をいつ取得しますか? 'EnumerateRemoteFiles'ループでは?あなたは 'jpm_icl'フォルダを見ることができません? –