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 :

[Erreur JSP/JAVA] NIO copie de fichier en java


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut [Erreur JSP/JAVA] NIO copie de fichier en java
    Bonjour,

    Dans le cadre d'un projet scolaire je dois copier une image d'un dossier vers un autre.

    J'ai donc utiliser le code suivant :

    JSP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <%@page import="com.metier.*"%>
    <%@page import="com.persistence.*"%>
    <%@page pageEncoding="UTF-8"%>
    <jsp:useBean id="monAppli" scope="application" class="com.metier.DiscoApplication"/>
    <%
        String chemin = request.getParameter("chemin");
        String cheminref = request.getParameter("cheminref");
        Reference.remplacer(chemin, cheminref);
        request.getRequestDispatcher("../disco.jsp").forward(request, response);
    %>
    Le code de Reference.remplacer(String, String)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public static boolean remplacer(String source, String destination) throws IOException {
        Path psource = Paths.get(source);
        Path pdestination = Paths.get(destination);
        Files.copy(psource, pdestination, StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.COPY_ATTRIBUTES);
        return true;
    }
    Lors de l’exécution du premier code j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Stacktrace:] with root cause
     
     java.nio.file.InvalidPathException: Illegal char <
     
    > at index 68: C:\Users\IRISINSTALL\Documents\jpeg\Tarot_Calern\20140319\IC3900.jpg
    J'ai donc écrit un second code pour voir d'ou le problème vient en inscrivant directement le chemin de l'image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <%@page import="com.metier.*"%>
    <%@page import="com.persistence.*"%>
    <%@page pageEncoding="UTF-8"%>
    <jsp:useBean id="monAppli" scope="application" class="com.metier.DiscoApplication"/>
    <%
        String chemin = "C:/Users/IRISINSTALL/Documents/jpeg/Tarot_Calern/20140319/IC3900.jpg";
        String cheminref = "C:/Users/IRISINSTALL/Documents/jpeg/refgal/IC3900.jpg";
        Reference.remplacer(chemin, cheminref);
        request.getRequestDispatcher("disco.jsp").forward(request, response);
    %>
    Et cette fois ci le code fonctionne.

    Mon problème est donc le suivant :

    Lorsque les chemins sont récupérer par "request.ReqParameter" la fonction Files.copy ne fonctionne pas. Pourtant le chemin est lui intègre.

    J’espère avoir était assez clair,

    Merci de vos futur réponse,

    Enzo.

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il semble qu'il y ait un \r (ou \n) à la fin du paramètre. Il faudrait voir comment ce paramètre est fourni à la requête (dans un <FORM> par <INPUT>?, par url ?).

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String chemin = request.getParameter("chemin").trim();
        String cheminref = request.getParameter("cheminref").trim();
    pour confirmer.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre réponse !

    Les informations viennent d'un FORM.

    Grâce a votre réponse ça fonctionne correctement,
    Merci de votre réactivité.

    Bonne journée.

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Je ne suis pas très au fait du développement web, mais ça ne me semble pas normal qu'il y ait des \r en fin de valeur de paramètre. Je passe le relais à quelqu'un qui développe du client Web pour avoir le fin mot de l'histoire (pour des noms de fichiers, un trim() n'est pas problématique, mais pour d'autres types, on pourrait perdre des caractères volontairement saisis.)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Parfait !

    Merci.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    Je ne suis pas très au fait du développement web, mais ça ne me semble pas normal qu'il y ait des \r en fin de valeur de paramètre.
    Je suppose que c'est un <textarea> qui a été utilisé pour saisir le chemin du fichier... avec <input>, effectivement, il ne devrait pas y avoir de \r ou \n...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Non ce n'est pas un <textarea> mais bien un <input>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <input name="chemin" type="hidden" value="<%
    out.println("C:/Users/IRISINSTALL/Documents/jpeg/" 
    + img1.getChemin() + "/" 
    + img1.getDate() + "/" 
    + img1.getGalaxieNom() + ".jpg");
    %>" />

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    out.println() donc...

    En passant, tu as les expressions aussi (<%= ... %>) pour les parties dynamiques (les parties en dur autant les mettre en dur (or expression/scriptlet), enfin on devrait pas du tout en avoir, mais bon s'il y'en a...)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Zut je n'avais pas vue le printLN...

    Je reprend un projet de 2014 et je n'ai jamais fait de JSP, qu'elle est la difference entre <% et <%= ?

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    • <% %> (scriptlet) te permet de mettre un bloc de code Java.
    • <%= xxx %> (expression) est l'équivalent de <% out.print( xxx ); %>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="chemin" type="hidden" value="C:/Users/IRISINSTALL/Documents/jpeg/<%=img1.getChemin()%>/<%=img1.getDate()%>/<%=img1.getGalaxieNom()%>.jpg"/>
    Et on doit peut-être pouvoir le faire encore plus simplement en EL.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Dans tous les cas, je ne vois pas trop l'intérêt d'une interface web pour mettre à jour une image sur le serveur ("c:\..." fera toujours référence au serveur)...
    Bref, peux-tu préciser le besoin ? Il me semble que ce n'est pas la bonne piste...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2016
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Le projet est une application web de science collaborative et dans celle ci a un moment donner nous avons besoin de donner a l'administrateur un moyen pour déplacer une image d'un dossier a un autre depuis la page web.

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/10/2014, 10h23
  2. Java- SCP copie de fichier sur une machine distante
    Par yoruichiy dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/08/2011, 23h02
  3. Copie de fichiers => message d'erreur
    Par Looping_V60 dans le forum Access
    Réponses: 5
    Dernier message: 27/10/2006, 11h53
  4. message d'erreurs sur copie de fichier
    Par screeminelle dans le forum C++
    Réponses: 9
    Dernier message: 01/11/2005, 14h21
  5. Copie de fichier impossible en Java ?
    Par Fildz dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 21/09/2005, 13h23

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