myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Netzwerktechnologien » Fehler 501 bei FTP Webrequest Schreibversuch
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Fehler 501 bei FTP Webrequest Schreibversuch

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
skywalker1979 skywalker1979 ist männlich
myCSharp.de-Mitglied

Dabei seit: 25.06.2012
Beiträge: 9
Entwicklungsumgebung: Visual Studio 2008


skywalker1979 ist offline

Fehler 501 bei FTP Webrequest Schreibversuch

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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

C#-Code:
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:

C#-Code:
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
Neuer Beitrag 04.03.2013 13:34 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Diräkt Diräkt ist männlich
myCSharp.de-Mitglied

Dabei seit: 05.11.2009
Beiträge: 605
Entwicklungsumgebung: VS 2013
Herkunft: Schweiz


Diräkt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Skywalker

Dies ist ggf. nicht gewünschte Antwort, jedoch eine mögliche Lösung :-)

Ich würde ein Ordner im FTP Pfad erstellen. Genau genommen nicht ein "normalen Ordner" sondern ein hard Link auf dein F:\bla Verzeichniss.

 mklink


Beste Grüsse

Diräkt
Neuer Beitrag 04.03.2013 14:30 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.210
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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
Neuer Beitrag 04.03.2013 14:47 Beiträge des Benutzers | zu Buddylist hinzufügen
trib trib ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.04.2008
Beiträge: 656
Entwicklungsumgebung: C#


trib ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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:

Zitat von skywalker1979:
C#-Code:
string uri = "ftp://" + ftpServerIP + "/%2F/F:" + "Ordner/" + fi.Name;

Es müsste "/%2F/F:" + "/Ordner/" heißen.
Neuer Beitrag 04.03.2013 15:31 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Diräkt Diräkt ist männlich
myCSharp.de-Mitglied

Dabei seit: 05.11.2009
Beiträge: 605
Entwicklungsumgebung: VS 2013
Herkunft: Schweiz


Diräkt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

...

es gibt noch so schöne Methoden wie string.Format und Path.Combine

...


Beste Grüsse

Diräkt
Neuer Beitrag 04.03.2013 15:53 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
skywalker1979 skywalker1979 ist männlich
myCSharp.de-Mitglied

Dabei seit: 25.06.2012
Beiträge: 9
Entwicklungsumgebung: Visual Studio 2008

Themenstarter Thema begonnen von skywalker1979

skywalker1979 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.
Neuer Beitrag 04.03.2013 16:03 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.210
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi skywalker1979,

es ist doch nicht die gesamte Partition per FTP freigegeben, sondern nur der FTP-Root-Ordner.

Christian
Neuer Beitrag 04.03.2013 16:08 Beiträge des Benutzers | zu Buddylist hinzufügen
skywalker1979 skywalker1979 ist männlich
myCSharp.de-Mitglied

Dabei seit: 25.06.2012
Beiträge: 9
Entwicklungsumgebung: Visual Studio 2008

Themenstarter Thema begonnen von skywalker1979

skywalker1979 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ich hab da nochmal eine Idee,

kann es sein, das ich die Schritte im c# webrequest quasi Schritt für Schritt abarbeiten muss?
Also:
1. Verbindung aufbauen
2. Verzeichnis wechseln
3. Daten schreiben oder lesen
4. Verbindung beenden

Bei Filezilla mache ich das ja eigentlich so Schritt für Schritt.
Neuer Beitrag 04.03.2013 16:26 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
MrSparkle MrSparkle ist männlich
myCSharp.de-Team

avatar-2159.gif


Dabei seit: 16.05.2006
Beiträge: 5.210
Herkunft: Leipzig


MrSparkle ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Es gibt auch ein ausführliches Beispiel in der Doku der  FtpWebRequest-Klasse.
Neuer Beitrag 04.03.2013 16:30 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 6 Jahre.
Der letzte Beitrag ist älter als 6 Jahre.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 11.11.2019 22:20