FTP upload taille fichier

Signaler
Messages postés
3
Date d'inscription
dimanche 19 mai 2019
Statut
Membre
Dernière intervention
19 mai 2019
-
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
-
Bonjour j'ai un petit programme d'upload sur un serveur ftp et j'aimerai limiter la taille du fichier a envoyer mais je ne vois pas comment faire quelqu'un a une idée SVP

        private void Upload(string fichier , string txbServeur,string txbUserName,string txbPassWord)
        {
 
            try
            {
                string[] filename = fichier.Split('\\');
                string file = filename[filename.Length - 1];
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://" + txbServeur + "/" + file);
                request.Method = WebRequestMethods.Ftp.UploadFile;
                request.KeepAlive = false;
 
                request.Credentials = new NetworkCredential(txbUserName, txbPassWord);
 
                FileStream sourceStream = File.OpenRead(fichier);
                byte[] fileContents = new byte[sourceStream.Length];
                sourceStream.Read(fileContents, 0, fileContents.Length);
                sourceStream.Close();
                request.ContentLength = fileContents.Length;
 
                Stream requestStream = request.GetRequestStream();
                requestStream.Write(fileContents, 0, fileContents.Length);
 
                requestStream.Close();
 
                FtpWebResponse response = (FtpWebResponse)request.GetResponse();
 
                int codeMessage = Convert.ToInt32(response.StatusCode);
 
 
                MessageBox.Show("Le fichier " + file + " a été correctement transferé", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
 
                response.Close();
            }
            catch (Exception ex)
            {
 
                MessageBox.Show(ex.Message + "Le fichier " + fichier+ " n'a pas été Upload", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
 
        }

3 réponses

Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
Bonsoir

                string[] filename = fichier.Split('\\');
                string file = filename[filename.Length - 1];
Tu peux faire ça avec la classe IO.Path
https://docs.microsoft.com/fr-fr/dotnet/api/system.io.path?view=netframework-4.8

C'est fait pour.

Quand à ta question, la classe FileInfo, permet, comme son nom l'indique, d'obtenir des infos sur un fichier, dont sa taille
https://docs.microsoft.com/fr-fr/dotnet/api/system.io.fileinfo.length?view=netframework-4.8
Messages postés
3
Date d'inscription
dimanche 19 mai 2019
Statut
Membre
Dernière intervention
19 mai 2019

Dans l'idéal j'aimerai faire quelque chose comme:
Si le fichier fait plus de 50 mo par exemple
alors Upload impossible
Mais je vois pas comment faire
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
et bien, tu fait un if sur le Length de FileInfo, si c'est supérieur à 50mo, tu n'exécutes pas le restes de la méthode
Messages postés
3
Date d'inscription
dimanche 19 mai 2019
Statut
Membre
Dernière intervention
19 mai 2019

Merci c'était pas compliquer enfaîte je me suis casser la tete pour rien
Messages postés
14478
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
8 avril 2020
374
De rien