Hallo zusammen,
ich habe drei Dateien die ich mit einen kleinen FTP Programm hochladen bei zweien funktioniert es super nur bei der dritten nicht.
leider konnte ich nach stunden langen debuggen und google noch immer keine Lösung finden.
Jedes mal wenn ich versuche die Datei zu Uploaden bekommen ich folgenden Fehler:
Der Remoteserver hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar (z.B. nicht gefunden oder kein Zugriff
Ich hab via FileZilla den Username und das Passwort ausprobiert und auch versucht einen Datei Manuell hoch und runterzuladen. Alles lief ohne Probleme.
Versuche ich eine Datei mit mein Programm herunterzuladen klappt das nicht.
destPath enthält: "ftp://192.168.100.2:21/subdir/test.txt"
Uri uri = new Uri(destPath);
FtpWebRequest fwr = (FtpWebRequest)FtpWebRequest.Create(uri);
fwr.Method = WebRequestMethods.Ftp.UploadFile;
fwr.Credentials = new NetworkCredential(con.Username, con.Password);
fwr.UseBinary = true;
fwr.UsePassive = false;
FileStream fs = new FileStream(con.LocalPath + @"\" + (realFileName.Length > 0 ? realFileName : con.SourceFileName), FileMode.Open);
byte[] fileContents = new byte[fs.Length];
fs.Read(fileContents, 0, Convert.ToInt32(fs.Length));
fs.Flush();
fs.Close();
Stream requestStream = fwr.GetRequestStream();
requestStream.Write(fileContents, 0, fileContents.Length);
requestStream.Close();
response = fwr.GetResponse();
status = ((FtpWebResponse)response).StatusDescription;
response.Close();
return status;
Danke für eure Hilfe.
Gruß Crone
Real programmers don't comment their code - it was hard to write, it should be hard to understand.
So ich hab den Fehler endlich gefunden.
Der FTP Path ("ftp://192.168.100.2:21/subdir/test.txt") enthielt als Verzeichniss "subdir" dieses war aber schon das Standardverzeichnis des verwendeten Benutzers.
Das subdir musste also einfach aus den FTP-Path gelöscht werden.
Warum dies mit den Explorer und anderen FTP-Programmen problemlos funktioniert ist mir zwar noch ein Rätsel, da der Fehler vom FTP-Server zurück gegeben wurde.
Gruß
Crone
Real programmers don't comment their code - it was hard to write, it should be hard to understand.
Habe auch ein ähnliches Problem....
Login: ftp://192.168.100.2:21/sampleDir
Auf Windows 8 und einem Windows Server 2008 Datacenter funktioniert das Verschieben via FTP (ftp://192.168.100.2:21/sampleDir/error/test.csv) fehlerfrei. Beim Kunden ebenfalls Windows Server 2008 Standard funktioniert es nicht, nur erst nach ich das "sampleDir" Verzeichnis weglasse, also "/error/test.csv/" anstatt "/sampleDir/error/test.csv"...
Mein Projekt ist unter VS2013, mit Framework 4.0 erstellt.