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


Anmelden zum Antworten