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

Servlets/JSP Java Discussion :

Problème de récupération de chemin d'un fichier en JSP


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 173
    Points : 187
    Points
    187
    Par défaut Problème de récupération de chemin d'un fichier en JSP
    Bonjour à tous,
    J'ai un problème de récupération de chemin d'un fichier en JSP.

    Je m'explique.

    Dans une page JSP, j'ai un form avec un input de type file et d'id "fileToUpload" (l'attribut name est identique) et un bouton de type submit pour lancer un upload.
    Dans le form j'ai mis action="" et target égal à ma fenêtre (initialisation de la valeur avec 'self.name = "ma_popup";' dans une fonction javascript appelée sur le onLoad) afin que le rechargement se fasse dans ma popup ouverte et non dans une autre fenêtre.
    Cela donne un truc de ce genre là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <script>
            function onLoading() {
                    try {
                    self.name = "ma_popup";
                    } catch (e) {
                            // erreur               
                             }
            }
    </script>
    ...
    <body onLoad="onLoading();">
    ...
      <form id="maForm" name="maForm" action="" target="ma_popup" method="post" enctype="multipart/form-data"  >
      	<input type="file" id="fileToUpload" name="fileToUpload" value="" />
    	<br/>
    	<input type="submit" id="uploadButton" name="uploadButton" value="Upload" />
       </form>
    ...
    </body>
    En haut de ma page JSP, j'ai mis le code java suivant afin de récupérer le chemin du fichier selectionné et de faire le traitement si le chemin du fichier existe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <%
    String path = request.getParameter("fileToUpload");
     
    if(path!=null && !path.equals(""))
    {
            // traitement à faire
    }
    %>
    Or, mon problème est que le path vaut toujours null et donc le traitement ne se fait pas même après avoir selectionné un fichier puis avoir cliqué sur le bouton "Upload". Je ne suis pas un expert en jsp (je débute) donc est ce que vous pourriez m'aider svp?

    PS: le traitement à faire appelle des fonctions déjà existantes dans des classes Java qui traiteront le fichier et il faut donc juste que je récupère le chemin du fichier pour le passer en paramètre d'une de ces fonctions.
    Diplomes: DUT informatique et Master 2 MIAGE.
    Développeur Java/J2EE (principalement), .NET (niveau scolaire mais je compte m'améliorer ) et Web (HTML, PHP...).

  2. #2
    Membre actif Avatar de fahdijbeli
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 281
    Points : 240
    Points
    240
    Par défaut
    bonjour
    pour accepter des informations avec la méthode getParametre il faut préciser dans le paramètre le nom de l'input je veux dire l'attribut name c'est pas l'attribut id .

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 173
    Points : 187
    Points
    187
    Par défaut
    L'attribut name est identique à l'id (c'est ce que je voulais dire en disant que le nom est identique, je viens de le modifier pour être plus clair).

    J'ai l'impression que le input n'est pas passé mais est réinitialisé comme si la page se chargeait à nouveau à partir de 0 et ca serait peut être dû au fait que j'ai mis action="" non?
    Diplomes: DUT informatique et Master 2 MIAGE.
    Développeur Java/J2EE (principalement), .NET (niveau scolaire mais je compte m'améliorer ) et Web (HTML, PHP...).

  4. #4
    Membre actif Avatar de fahdijbeli
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juin 2012
    Messages : 281
    Points : 240
    Points
    240
    Par défaut
    pas problème si tu as mis action="" et bien sure ton code dois être dans la même page mais je te conseil par ce lien peut être tu as oublié l'attribut enctype du balise form http://www.tutorialspoint.com/jsp/js..._uploading.htm

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 173
    Points : 187
    Points
    187
    Par défaut
    Merci pour ta réponse. Non je ne l'ai pas oublié. J'ai modifié à nouveau mon premier post pour y ajouter la structure de mon élément form en espérant que ca puisse aider.

    Je sèche là car j'ai l'impression de n'avoir rien oublié mais quelque chose ne doit pas être bon vu que le getParameter("fileToUpload") renvoie toujours null...
    Diplomes: DUT informatique et Master 2 MIAGE.
    Développeur Java/J2EE (principalement), .NET (niveau scolaire mais je compte m'améliorer ) et Web (HTML, PHP...).

  6. #6
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Il n'est, à ma connaisse, pas possible de récupérer l'URL locale d'un fichier avec un input file et ce, pour des raisons évidente de sécurités.

    Tu ne peux récupérer que le nom du fichier.

Discussions similaires

  1. Récupération du chemin d'un fichier(drag and drop)
    Par Thomas423 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/03/2013, 16h13
  2. Réponses: 9
    Dernier message: 23/02/2012, 18h33
  3. Réponses: 7
    Dernier message: 27/02/2009, 16h17
  4. Problème de récupération du chemin depuis formFile
    Par amine1980 dans le forum Struts 1
    Réponses: 3
    Dernier message: 31/12/2008, 22h47
  5. Réponses: 5
    Dernier message: 08/01/2008, 20h54

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