Partage
  • Partager sur Facebook
  • Partager sur Twitter

Obtenir le chemin d'un dossier et fichier en c#

    2 février 2022 à 10:04:55

    Bonjour à tous,

    Comment pourrais-je faire pour obtenir le chemin d'un fichier et d'un dossier lorsque l'utilisateur ouvre une boite de dialogue (openfiledialog).

    Pour résumer, je m'exerce avec divers petit programme notamment un compresseur de fichier. J'arrive à compresser et décompresser mais sous console. Le soucis vient de l'ouverture de la boite de dialogue et de la sélection du fichier à compresser.

    Je m'explique, lorsque l'utilisateur sélectionne son fichier, j'aimerai le copier dans un répertoire "input" afin de le compresser. Je n'arrive pas à récupérer le chemin afin de copier le fichier.

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
    Tchutti's rules
      2 février 2022 à 10:40:38

      Qu'est-ce que vous ne comprenez pas dans l'exemple fourni par la documentation ?

      https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.openfiledialog?view=windowsdesktop-6.0

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        3 février 2022 à 12:09:02

        J'ai résolu ce problème de chemin, maintenant la copie des fichiers s'effectue sans soucis mais lors de la compression une exception est levée

        ( System.IO.IOException : 'Nom de répertoire non valide.)

        public Form1()
                {
                    InitializeComponent();
                }
                
                
                private void OpenDirectory() // Fonction d'ouverture de dossier
                {
                    openFileDialog1.CheckFileExists = true;
                    openFileDialog1.CheckPathExists = true;
                    openFileDialog1.InitialDirectory = @"C:\";
                    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
                    openFileDialog1.FilterIndex = 2;
                    openFileDialog1.RestoreDirectory = true;
                    openFileDialog1.ShowDialog();
                }
                private void button1_Click(object sender, EventArgs e)
                {           
                    OpenDirectory();
                    string sourceFile = openFileDialog1.FileName.ToString();
                    string destinationFile = @"D:\MyFolder\Input\file.txt";
                    File.Copy(sourceFile, destinationFile);
                    string zipPath = @"D:\MyFolder\Output\file.zip";
                    
                    ZipFile.CreateFromDirectory(destinationFile, zipPath);
                }

        Par contre, le file.zip est bien créé mais vide ....

        Merci d'avance

        -
        Edité par UnknowTchutti 3 février 2022 à 12:09:25

        • Partager sur Facebook
        • Partager sur Twitter
        Tchutti's rules
          3 février 2022 à 13:02:03

          RTFM !!!

          On passe sur votre style de programmation à effet de bord (donc peau de banane).

          Si l'exemple  de la documentation vérifie la valeur de retour de ShowDialog, c'est pas pour faire joli.

          C'est quoi ce 'ToString" foireux ?

          Au nom de la primitive : "CreateFromDirectory", c'est un répertoire qui est demandé, pas un fichier.

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            3 février 2022 à 13:19:25

            Je débute et je suis conscient que le travail est encore bien long ....

            Merci quand même

            • Partager sur Facebook
            • Partager sur Twitter
            Tchutti's rules
              3 février 2022 à 15:49:30

              On a tous commencé à un moment donné, allez, courage, et tenez compte de mes remarques, SVP.
              • Partager sur Facebook
              • Partager sur Twitter
              Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

              Obtenir le chemin d'un dossier et fichier en c#

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown