Hallo zusammen,
ich habe ein Superbeispiel im Internet gefunden um etwas auf einen FTP zu laden.
Jedoch würde ich gerne eine Statusanzeige mit einbauen, kann mir jemand bitte sagen wo ich hieransetzen muss ? Danke
private void uploadFile(string FTPAddress, string filePath, string username, string password)
{
//Create FTP request
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(FTPAddress + "/" + Path.GetFileName(filePath));
request.Method = WebRequestMethods.Ftp.UploadFile;
request.Credentials = new NetworkCredential(username, password);
request.UsePassive = true;
request.UseBinary = true;
request.KeepAlive = false;
//Load the file
FileStream stream = File.OpenRead(filePath);
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
stream.Close();
//Upload file
Stream reqStream = request.GetRequestStream();
reqStream.Write(buffer, 0, buffer.Length);
reqStream.Close();
}
Du musst das ganze asynchron machen (anderer Thread, BackgroundWorker, etc) und Buffer auf einen bestimmten Wert setzen (4096) und das ganze mit einer Schleife realisieren. In jedem Durchgang kannst du anschließend den Fortschritt erneut berechnen und anzeigen
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Und dabei aufpassen, dass nicht wirklich alle Bytes des Buffers geschrieben/gelesen werden, sondern nur soviel, wie die Leitung hergibt. Die Anzahl an gelesenen/geschriebenen Bytes erhälst du dann als return der Read/Write-Methode.
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
wenn du es fertig hast, kopier es hier rein - interessiert sicherlich noch andere Menschen 🙂
Mein Blog: http://www.frickelblog.de