Zum Inhalt springen

C# FTP Dateien uploaden


Seba89

Empfohlene Beiträge

Hallo liebes Forum,

habe ein Problem beim Dateiupload zum FTP-Server..

Die erste Datei wird richtig geladen, nur ab der zweiten Datei bekomme ich dann folgende Fehlermeldung:

BeginGetRequestStream/BeginGetResponse kann nicht erneut aufgerufen werden, wenn ein vorheriger Aufruf noch verarbeitet wird.

bei System.Net.FtpWebRequest.GetRequestStream()

bei AutoUpdate.FTP.FTP.Upload(String folder, String filename, String quelle)}

Ich finde einfach keine Lösung für das Problem, eigentlich müsste es ja funktionieren, da ich ja mit requestStream.Close(); ihm ja eigentlich sage, dass der erste Stream zu Ende ist... Nur kapiert er das leider nicht.. ;)

Habe das dann auch mit request.EndGetRequestStream() versucht, aber geholfen hat's nicht...

Kann mir jemand sagen, was ich falsch mache?!

:upps

MfG,

Seba89

Hier noch mein Code:

try

            {

                // Pfad zur neuen Datei

                string ftp = "ftp://" + m_Server + "/" + folder + "/" + Path.GetFileName(filename);


                // FtpWebRequest initialisieren

                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri(ftp));


                // Steuerungsverbindung nicht schließen

                request.KeepAlive = false;


                // Methode auswählen (hier UploadFile)

                request.Method = WebRequestMethods.Ftp.UploadFile;


                // Benutzername und Passwort übergeben

                request.Credentials = new NetworkCredential(m_User, m_Password);


                // Verbindung überprüfen

                WebResponse response = request.GetResponse();


                foreach (string file in Directory.GetFiles(quelle))

                {

                    FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read);

                    byte[] fileContents = new byte[fs.Length];

                    fs.Read(fileContents, 0, Convert.ToInt32(fs.Length));

                    fs.Flush();

                    fs.Close();


                    // Stream zum FTP aufbauen

                    Stream requestStream = request.GetRequestStream();


                    // Datei via Stream schreiben

                     requestStream.Write(fileContents, 0, fileContents.Length);


                    // Stream beenden

                    requestStream.Close();

                 }


                // Verbindung beenden

                request.Abort();


                return true;

            }


            catch (Exception exp)

            {

                return false;

            }

Link zu diesem Kommentar
Auf anderen Seiten teilen

Bei der Datei nach 1:50min:

Die zugrunde liegende Verbindung wurde geschlossen: Unbekannter Fehler beim Empfangen..

Da der Server die Verbindung unterbricht und alle anderen Dateien die kleiner sind geladen werden können, denke ich das es gehen müsste, wenn die datei in parts geuploaded wird.

MfG

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...