86263
Mar 28, 2013, updated at 12:04:48 (UTC)
2401
0
0
C Sharp FTP Dateigröße
Moin zusammen,
ich bin gerade dabei eine FTP Klasse zu schreiben. Diese soll unter anderem auch die Dateigröße einer Datei auf dem Server zurückgeben:
mit den beiden Hilfsmethoden:
initConnection:
checkConnection:
Wenn ich mir nun ein Objekt aus dieser Klasse erzeuge, kommt es zu einer Exception:
Umgehen lässt sich das ganze allerdings, wenn ich in getFileSize einen Workaround einbaue:
Jetzt baut sich die Verbindung ohne Probleme auf. Das ist ja an und für sich gut. ich wüsste nur gerne warum das funktioniert.
Gruß,
DB
ich bin gerade dabei eine FTP Klasse zu schreiben. Diese soll unter anderem auch die Dateigröße einer Datei auf dem Server zurückgeben:
public long getFileSize(string serverFile)
{
long size = -1;
FtpWebRequest request = initConnection(serverFile);
request.Method = WebRequestMethods.Ftp.GetFileSize;
WebResponse response = checkConnection(request);
if (response != null)
{
size = response.ContentLength;
}
return size;
}
mit den beiden Hilfsmethoden:
initConnection:
public FtpWebRequest initConnection(string serverFile)
{
FtpWebRequest request = (FtpWebRequest)WebRequest.Create(@"ftp://" + server + @"/" + serverFile);
request.Credentials = new NetworkCredential(user, password);
return request;
}
public WebResponse checkConnection(FtpWebRequest request)
{
WebResponse response = null;
try {
response = request.GetResponse();
} catch (Exception ex) { }
return response;
}
Wenn ich mir nun ein Objekt aus dieser Klasse erzeuge, kommt es zu einer Exception:
Der Remoteserver hat einen Fehler zurückgegeben: (550) Datei nicht verfügbar.
Umgehen lässt sich das ganze allerdings, wenn ich in getFileSize einen Workaround einbaue:
long size = -1;
// BUGFIX
FtpWebRequest r = initConnection(serverFile);
r.Method = WebRequestMethods.Ftp.DownloadFile;
WebResponse w = checkConnection(r);
w.Close();
// + + + + +
FtpWebRequest request = initConnection(serverFile);
... (s.o.)
Gruß,
DB
Please also mark the comments that contributed to the solution of the article
Content-Key: 204097
Url: https://administrator.de/contentid/204097
Printed on: April 26, 2024 at 19:04 o'clock