Problème FTP upload

themoder Messages postés 3 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 7 novembre 2010 - 31 oct. 2010 à 22:03
themoder Messages postés 3 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 7 novembre 2010 - 7 nov. 2010 à 03:06
Bonjour à tous,

Après un très long moment j'ai finalement réussi à créer mon FTP uploader (avec de l'aide).

Tout fonctionne à merveille, mais dès que j'essais d'uploader un fichier de bonne taille, il me dit l'erreur qui suit:

"La connexion sous-jacente a été fermée une erreur inattendue s'est produite lors de la réception"

Je suis sous Windows 7, voici mon code,

        private void Upload(string filename)
        {

            FileInfo fileInf = new FileInfo(filename);

            string uri uri "ftp://" + textBox2.Text + "/" + fileInf.Name;

            FtpWebRequest reqFTP;

            
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://ftp.MON SITE.net/" + fileInf.Name));

          
            reqFTP.Credentials = new NetworkCredential("***********", "*********");
            
                        

            reqFTP.KeepAlive = false;

            reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

            
            reqFTP.UseBinary = true;

            
            reqFTP.ContentLength = fileInf.Length;

            
            int buffLength = 999999999;
            byte[] buff = new byte[buffLength];

            int contentLen;

            
            FileStream fs = fileInf.OpenRead();
            
            

            try
            {

                
                Stream strm = reqFTP.GetRequestStream();

                
                contentLen = fs.Read(buff, 0, buffLength);

                
                while (contentLen != 0)
                {

                    
                    strm.Write(buff, 0, contentLen);

                    contentLen = fs.Read(buff, 0, buffLength);

                }

                
                strm.Close();

                fs.Close();
                MessageBox.Show("Fini");
            }



            catch (Exception ex)
            {

                MessageBox.Show(ex.Message, "Upload Error");

            }



je me débrouille en anglais et un peu en programmation C#,

Merci de votre aide future.

Themoder
A voir également:

2 réponses

themoder Messages postés 3 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 7 novembre 2010
6 nov. 2010 à 22:40
Bonsoir à tous,

J'ai répondu à mon problème tout seul, voici le code que j'ai ajouté

   
reqFTP.Timeout = 999999999;
reqFTP.ReadWriteTimeout = 999999999;
reqFTP.KeepAlive = true;


et maintenant j'ai 1 problème et une question

problème: Il me dit la même erreur mais vers la fin du transfert au lieux du début.

Question: Au momment exacte ou je clic sur transmettre, la page se fige durant tout le transfert, je ne peux pas fermer la page, ni la déplacer meme la progress bar (marquee) ne bouge plus. comment je corrige cela ?

Merci de votre aide.

themoder
0
themoder Messages postés 3 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 7 novembre 2010
7 nov. 2010 à 03:06
Rebonjour à tous,

J'ai finalement résolu mon problème !!! j'ai simplement enlevé les lignes,

strm.Close();
fs.Close();

comme je suis un peu débutent je voudrais savoir à quoi cest deux lignes servent et si je ne devrais vraiment pas les enlever !

Merci de votre aide donc je l'espère, future !
0
Rejoignez-nous