Hallo Zusammen,
Ich hatte letztens das Problem, dass ich über einen FTP-Zugriff auf ein Verzeichnis F: zugreifen wollte.
Das habe ich durch die Codezeile
string uri = "ftp://" + ftpServerIP + "/%2F/F:" + fi.Name;
hinbekommen.
Das Problem ist hierbei nur, dass ich die Dateien dann immer direkt auf F:/ schreibe. Jetzt möchte ich einen Ordner einfügen, in den ich schreiben kann.
Füge ich jetzt allerdings den Ordner in den Aufruf von oben auf folgende Weise mit ein:
string uri = "ftp://" + ftpServerIP + "/%2F/F:" + "Ordner/" + fi.Name;
dann bekomme ich die Fehlermeldung : > Fehlermeldung:
WebException wurde nicht behandelt. Der Remoteserver hat einen Fehler zurückgegeben: (501) Syntaxfehler in Parametern oder Argumenten.
Ich habe schon verschiedene Beiträge hierzu gelesen, sehe aber nicht wo mein Fehler liegen könnte.
Danke und Gruß
Skywalker
Hi skywalker1979,
der FTP-Zugang sollte doch einen Root-Ordner zugeteilt bekommen. Ich kann mir nicht vorstellen, daß du mit dem Dateisystem-Pfad (F:...) einen Zugriff auf einen Ordner bekommst.
Christian
Weeks of programming can save you hours of planning
Wie MrSparkle schon vermutet, bin ich auch überrascht einen FTP-Pfad mit einem Laufwerksbuchstaben anzusprechen. Möglicher weise ist der Root-Ordner einfach als "F:" benannt. Aber das widerspricht etwas den Namenskonventionen von Ordnern...
Wie auch immer, hier fehlt definitiv noch ein Slash:
string uri = "ftp://" + ftpServerIP + "/%2F/F:" + "Ordner/" + fi.Name;
Es müsste "/%2F/F:" + "++/++Ordner/" heißen.
...
es gibt noch so schöne Methoden wie string.Format und Path.Combine
...
Beste Grüsse
Diräkt
Hallo Zusammen,
ich versuche mal die Geschichte mit dem F: zu erklären.
Hierbei handelt es sich um eine Partition auf einem Speicher, auf den ich per FTP zugreifen kann.
Die Bezeichnung ist hierbei fest vorgegeben.
Die Unterordner auf die ich zugreifen möchte sind auf der Partition vorhanden, da ich diese mit Filezilla angelegt habe und damit auch schreibend und lesend drauf zugreifen kann.
Leider funktioniert mit den c# ftp webrequest Funktionen nur ein Schreiben und Lesen direkt im Root-Verzeichnis F:
@trib
leider funktioniert dein Hinweis mit dem zusätzlichen "/" auch nicht.
Hi skywalker1979,
es ist doch nicht die gesamte Partition per FTP freigegeben, sondern nur der FTP-Root-Ordner.
Christian
Weeks of programming can save you hours of planning
Ich hab da nochmal eine Idee,
kann es sein, das ich die Schritte im c# webrequest quasi Schritt für Schritt abarbeiten muss?
Also:
Bei Filezilla mache ich das ja eigentlich so Schritt für Schritt.
Es gibt auch ein ausführliches Beispiel in der Doku der FtpWebRequest-Klasse.
Weeks of programming can save you hours of planning