2017-01-04 4 views
1

Ich implementiere FluentFTP in meiner Anwendung, aber ich kann den Inhalt eines Ordners auf dem FTP-Server nicht auflisten.
Wenn ich eine FTP-Anwendung wie FileZilla kann ich deutlich sehen, dass zwei Ordner in meinem Benutzerverzeichnis gibt es:Wie listet man einen Ordner mit FluentFTP auf

enter image description here

Die Out-Ordner einige Dateien enthalten, aber wenn ich eine Liste mit FluentFTP rufe ich immer Holen Sie sich diese 2 Ordner, nicht den Inhalt des Out-Ordners.

Dies ist der Code, den ich

bin mit versucht
FtpClient client = new FtpClient(); 
client.Host = _ftpDefinition.Host; 
client.Port = _ftpDefinition.Port; 
client.Credentials = new NetworkCredential(_ftpDefinition.UserName, _ftpDefinition.PassWord); 
client.Connect(); 

foreach (FtpListItem item in ftpClient.GetListing(remoteDir)) 
{ 
    if (item.Type == FtpFileSystemObjectType.File) 
    { 
     _remoteFiles.Add(item.Name); // add the filename to a List<string> 
    } 
} 

ich diese Kombinationen für die Variable remotedir:

Out 
/Out 
Out/ 
/Out/ 

keiner von ihnen arbeitet, die GetListing die 2 Ordner anstelle immer Retuns von den Inhalt des Out-Ordners.

Was mache ich falsch?

+0

Können Sie nicht Verzeichnis ändern outfolder? – BugFinder

+0

Gute Idee, wie kann ich das mit FluentFTP machen? – GuidoG

+0

sonst, wenn Sie _remoteFiles.Add .. Chancen sind es in Ihrem aktuellen Verzeichnis nicht wo Sie wollten .. – BugFinder

Antwort

1

Nach their docs

sollten Sie in der Lage sein

GetWorkingDirectory() verwenden - Ruft den vollständigen Pfad des aktuellen Arbeitsverzeichnis.

SetWorkingDirectory() - Setzt den vollständigen Pfad des aktuellen Arbeitsverzeichnisses.

Wie

FtpClient.SetWorkingDirectory("/Out");

+0

Das scheint zu funktionieren, können Sie einen Grund, warum die GetListing() funktioniert nicht mit dem gleichen/Out? – GuidoG

+0

Nie benutzt fluentftp jemals: p Entschuldigung. es ist vielleicht die Groß- und Kleinschreibung und trotz der Großbuchstaben, ist es eine der Dinge, die ich in rohen FTP-Client (nicht filezilla) sehen möchte und der Server zu sagen, vielleicht mehr warum (der Server hätte Logs von was gesendet wird) – BugFinder

+0

Aus irgendeinem Grund hörte diese Lösung auf zu arbeiten. Wenn ich GetWorkingDirectory nach dem SetWorkingDirectory mache, kehrt es/Out wie zuvor zurück, aber aus irgendeinem Grund gibt GetListing() jetzt immer nichts zurück, selbst wenn dort Dateien vorhanden sind. Ich fange an zu denken, dass FluentFTP schließlich nicht so gut ist und dass ich wieder anfangen muss, nach einer anderen Bibliothek zu suchen – GuidoG

Verwandte Themen