FtpWebRequest mehrere Dateien uploaden
-
Hi!
Ich nutze die FtpWebRequest Klasse um (synchron) einige Dateien auf einen FTP Server hochzuladen. Das klappt auch wunderbar, nur habe ich ein Problem damit, dass für jede Datei die hoch geladen werden soll seine eigene Verbindung zum Server benötigt. Irgendwo habe ich gelesen dass das auch mit nur einer Verbindung (also einem Verbindungsaufbau) klappt, nur finde ich den Artikel (durch googeln) nicht mehr. Kann mir jemand helfen, oder hat jemand einen Lösungsvorschlag? Danke!
Sebo
-
Mmh, schon wieder keine Antwort? Werd' ich ignoriert, oder sind meine Fragen zu leicht oder hat wirklich keiner Ahnung davon?
-
ja - das klappt so:
connection oeffnen
datei 1 hochladen
datei 2 hochladen
connection schliessen
-
superking schrieb:
ja - das klappt so:
connection oeffnen
datei 1 hochladen
datei 2 hochladen
connection schliessen
Zeig' mir mal bitte, die Stelle wo und wie das gehen soll:
FileInfo Info = new FileInfo(sourceFile); string TargetFile = this.pUri + Info.Name; this.FTPRequest = (FtpWebRequest)FtpWebRequest.Create(targetFile); this.FTPRequest.Credentials = new NetworkCredential(this.sUserName, this.sPassword); this.FTPRequest.KeepAlive = false; this.FTPRequest.EnableSsl = this.bSsl; this.FTPRequest.UseBinary = this.bBinary; this.FTPRequest.UsePassive = this.bPassiveMode; //the Method Ftp.UploadFile does not support a proxy! kill it! this.FTPRequest.Proxy = null; this.FTPRequest.Method = WebRequestMethods.Ftp.UploadFile; this.FTPRequest.ContentLength = Info.Length; //upload File int dataRead; const int BufferSize = 2048; byte[] Content = new byte[BufferSize]; FileStream FileStream = Info.OpenRead(); Stream FTPStream = this.FTPRequest.GetRequestStream(); do { dataRead = FileStream.Read(Content, 0, BufferSize); FTPStream.Write(Content, 0, dataRead); } while (!(dataRead < BufferSize)); FTPStream.Close(); FileStream.Close();
Danke.
Sebo