IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

parcourir Rép et executer une action à chaque fichier trouvé


Sujet :

ASP.NET

  1. #1
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut parcourir Rép et executer une action à chaque fichier trouvé
    Bonjour,

    Je suis sur la reprise d'une applic ASP.NET de recrutement pour entreprise.

    Il y a donc, en grosse partie, une partie ajout de candidats, dans laquelle il faut pour créer un candidat disposer au minimum du nom/prenom.
    Ensuite, par consultation de ces candidats, on peut ajouter et modifier l'ensemble des infos pouvant le concerner.

    Afin de faciliter l'ajout de ces candidats dans la base de données (car le nombre est élevé), il faudrait automatiser un ajout massif:

    En fait, les personnes chargées du recrutement placeraient le cv de la personne, avec le nom du fichier cv formatté: nom_prenom.ext

    Il faudrait donc trouver un système (asp, javascript ou autre) me permettant de scrutter un répertoire, et pour chaque fichier:

    - récupérer le nom/prenom du candidat en découpant le nom du fichier
    - introduire via la procédure le candidat dans la base de données
    - joindre via la procédure le cv au candidat

    Pour ces 3 étapes, je devrais pouvoir le faire sans problème...

    Là ou je ne sais pas comment faire, c'est pour scrutter le répertoire défini et récupérer le fichier/nom de fichier afin de l'utiliser


    Merci de vos réponses

  2. #2
    Membre régulier Avatar de DonkeyMaster
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 95
    Points : 110
    Points
    110
    Par défaut
    Je serais tenté de dire que ce que tu demandes est impossible, qu'on ne peut pas accéder au système de fichiers local à partir d'un navigateur local (tu sais, sécurité et ce genre d'âneries).

    En plus, je ne suis même pas sûr que ce soit possible de mettre plusieurs fichiers dans un FileUpload.

    Alors, deux solutions me viennent à l'esprit:
    • développer une application Windows
    • utiliser un fichier zip


    (1)Tu demandes aux utilisateurs de mettre tous leurs CVs dans un fichier zip, (2)de l'envoyer dans le serveur, et puis de ton côté (3)tu crées un repertoire temporaire pour (4)extraire le contenu de ton zip, et (5)c'est parti pour parcourir tes fichiers. Oh, et puis je suppose que tu peux (6)supprimer tous ces fichiers à la fin.

    Bonne chance.

  3. #3
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    Citation Envoyé par DonkeyMaster
    Je serais tenté de dire que ce que tu demandes est impossible, qu'on ne peut pas accéder au système de fichiers local à partir d'un navigateur local (tu sais, sécurité et ce genre d'âneries).
    il s'agit d'une applic qui tourne en LAN, et les fameux cv stocké sur un répertoire partagé accessible à tous les utilisateurs de l'applic.
    J'avais déjà utilisé un script javascript permettant de parcourir un répertoire pour afficher des photos en diaporama...
    I s'agirait du même genre de chose je suppose, donc c'est possible!

    Citation Envoyé par DonkeyMaster
    En plus, je ne suis même pas sûr que ce soit possible de mettre plusieurs fichiers dans un FileUpload.
    pourquoi en mettre plusieurs??
    à chaque fichier trouvé, lancer le fileupload

    Citation Envoyé par DonkeyMaster
    Alors, deux solutions me viennent à l'esprit:
    • développer une application Windows
    • utiliser un fichier zip
    fichier zip pourquoi pas mais je vois pas trop l'utilité
    applic web obligatoire


    Merci de tes réponses, jespère en avoir d'autres pour pouvoir avancer

  4. #4
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Tu peux donc itérer sur les fichiers du répertoire via du code serveur.
    Utilise le namespace System.IO pour parcourir la liste des fichiers d'un répertoire. Ca devrait donner un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach(string file in System.IO.Directory.GetFiles("mondossier"))
    {
          string nom = System.IO.Path.GetFIleNameWithoutExtension(file).Substring(0, indexOf("_"));
         string prenom = System.IO.Path.GetFIleNameWithoutExtension(file).Substring(indexOf("_") + 1);
     
         // Puis ton code pour ajout dans BDD
    }

  5. #5
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    Ok merci...

    cela fonctionne, j'arrive à lister les noms de fichier dans une listbox.

    Mais petit hic, si un nom de fichier contient un espace, le nom de fichier renvoyé déconne

    ex: nom de fichier = "prenom_nom nom.txt"
    on me renvoie juste "prenom_nom" comme nom de fichier.
    Alors qu'il est tout à fait possible qu'il y aie des espaces dans les noms de fichiers, comment éviter ce problème, qui est pour moi un bug dans la méthode System.IO.Path.GetFileNameWithoutExtension(file)

    a la limite, si ce n'est pas possible de corriger cela, ce n'est pas encore trop grave, je ferai mettre un caractère spécial par les utilisateurs en cas d'espace dans le nom.
    Car de toute facon je fais un listing des fichiers n'ayant pu être traités à cause d'un problème dans le nom de fichier

  6. #6
    Membre éprouvé Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Points : 1 256
    Points
    1 256
    Par défaut
    Effectivement, ça ressemble à un bug de la méthode GetFilenameWithoutExtension.

    Tu peux alors faire la bonne vieille méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string nomFichier = System.IO.Path.GetFileName(file).SubString(0, file.LastIndexOf("."));
    et donc ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string nom = nomFichier.Substring(0, indexOf("_"));
    string prenom = nomFichier.Substring(indexOf("_") + 1);

  7. #7
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    oui j'y avais pensé,

    mais que ce soit la méthode avec ou sans l'extension, il coupe le nom de fichier dès qu'il rencontre un espace...

  8. #8
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Points : 1 119
    Points
    1 119
    Par défaut
    comment faire pour qu'il ne coupe pas le nom lorsqu'il y a un espace dans celui-ci?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.11] Executer une action après le téléchargement d'un fichier
    Par reeda dans le forum Zend Framework
    Réponses: 13
    Dernier message: 30/10/2012, 13h29
  2. Executer une action premier lundi chaque mois
    Par Pierren dans le forum Access
    Réponses: 1
    Dernier message: 15/01/2007, 20h07
  3. Executer une action à partir d'un lien JSP
    Par orus2 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/04/2006, 14h05
  4. Faire a un script executer une action sur un signal
    Par vodevil dans le forum Langage
    Réponses: 1
    Dernier message: 13/12/2005, 11h14
  5. [Struts]Executer une action sans ActionForm associé ?
    Par brousaille dans le forum Struts 1
    Réponses: 7
    Dernier message: 19/09/2005, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo