Zum Inhalt springen

C# FTP Dateien uploaden


Empfohlene Beiträge

Geschrieben

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;

            }

Geschrieben

Okay das habe ich soweit in den Griff bekommen.

Nun habe ich aber noch eine Frage an alle.

Wie schaffe ich es eine Datei in Teilen zu uploaden, da meine Datei mit 1,8mb zu groß ist...

Kann mir jemand helfen?

Mfg

Geschrieben

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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...