FTP upload taille fichier

Signaler
Messages postés
10
Date d'inscription
dimanche 19 mai 2019
Statut
Membre
Dernière intervention
11 juin 2020
-
Messages postés
14481
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juillet 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
14481
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juillet 2020
420
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
10
Date d'inscription
dimanche 19 mai 2019
Statut
Membre
Dernière intervention
11 juin 2020

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
14481
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
13 juillet 2020
420
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
10
Date d'inscription
dimanche 19 mai 2019
Statut
Membre
Dernière intervention
11 juin 2020

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