Der Remoteserver hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar(Fehler trat auf die Herstellung ftp-Verzeichnis)
Ich entwickle eine wpf-Anwendung, und ich will ein Verzeichnis auf ftp-Basis von C# mit verschiedenen Benutzernamen und, falls Sie bereits existiert, dann speichern Sie Dateien auf vorhandene Verzeichnis.
Habe ich erfolgreich erstellt, die der Logik der überprüfung der bereits bestehenden Verzeichnis, aber beim anlegen eines neuen Verzeichnis habe ich eine Ausnahme zur Laufzeit:
The remote server returned an error: (550) File unavailable (e.g., file not found, no access).
Ich habe verschiedene Lösungen im internet und die meisten sagen, dass es aufgrund von Berechtigungen zu schreiben. Ich bin die Zuordnung der ftp-Ordner-Berechtigungen zu schreiben, aber ich habe immer noch das problem. Bitte Helfen?
Hier ist mein code:
static void CreateFtpFolder(string source)
{
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(source);
request.Credentials = new NetworkCredential(ftpusername, ftppassword);
request.Method = WebRequestMethods.Ftp.MakeDirectory;
request.UsePassive = true;
request.UseBinary = false;
request.KeepAlive = false;
request.Proxy = null;
FtpWebResponse ftpResp = request.GetResponse() as FtpWebResponse;
}
Ich bin mit dem Fehler auf FtpWebResponse
.
- Versuchen Sie es mit einem command-line FTP-client zu replizieren den Fehler. Vielleicht ist der tatsächliche Fehler wird vom server zurückgegeben wird aussagekräftiger sein als das, was Sie sehen in Ihrem code? Aber ja, das klingt wie ein server-side-Erlaubnis...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihren code gut Aussehen.......Sie sagen, dass Sie vergeben haben, die Berechtigung zu.
Das problem ist nur, dass Sie vielleicht vorbei eine falsche "Quelle", die das verursachen problem..Überprüfen Sie Ihre Quelle string es kann sich um einen Fehler......
Pfad sollte wie
es bedeuten-Verzeichnis erstellt mit dem Namen "directory12"
wenn Sie die Angabe Weg, wie diese
dies bedeutet: "ftp://host.com/directory123/" sollte bereits vorhanden sein und neues Verzeichnis erstellt mit dem Namen "directory1234"
hoffe, es wird helfen,
Wenn das problem ist ein Windows-Server-side-Erlaubnis Frage und Sie haben Zugang zu diesem FTP-server, können Sie in der Lage, es zu beheben durch ändern der Berechtigung und das hinzufügen von 'Schreiben' die Erlaubnis für den Benutzernamen, den Sie authentifizieren, die auf der tatsächlichen physischen Verzeichnis an.
Wenn z.B. 'ftp://host/' Punkte 'c:\inetpub\ftproot' auf Ihrem server, dann lassen Sie 'Schreiben' die Berechtigung für den Benutzer auf das Verzeichnis.
Ich war die Einrichtung meiner eigenen IIS 7 FTP-server und verbrachte eine gute Stunde oder zwei versuchen zu bekommen, wie ein einfaches snippet für C# - client-code zu arbeiten, deshalb dachte ich beitragen für diejenigen, die in ähnlichen Situationen.
Erhalten Sie diesen Fehler, wenn das Verzeichnis bereits vorhanden ist. Ziemlich nicht aussagekräftige Fehlermeldung (lol). Muss ein try-catch um den Anruf zu verlangen.GetResponse()