Partage
  • Partager sur Facebook
  • Partager sur Twitter

J2EE Envoie de fichier - pb sur part.getHeader

Quand l'envoie de fichier n'envoie ni du bois ... ni rien du tout

    14 juin 2018 à 0:53:56

    Bonjour,

    je suis le cours : Développez des sites web avec Java EE

    Je fais le chapitre : Envoyer des fichiers

    Mon pb : au niveau de la méthode : getNomFichier

    erreur sur la ligne : for ( String contentDisposition : part.getHeader("Content-Disposition").split( ";" ) )

    J'ai même mis à la place : System.out.print(part.getHeaders("Content-Disposition"));

    Mais dans les 2 cas :

    exception :  "GRAVE: "Servlet.service()" pour la servlet [net.ddns.jcity01.servlet.Sender] a généré une exception
    java.lang.NullPointerException"

    En consultant ; https://docs.oracle.com/javaee/7/api/toc.htm

    public interface Part

    This class represents a part or form item that was received within a multipart/form-data POST request.

    Je comprends que part est instancié depuis une interface dans le cours. Étrange non ? Ca expliquerait le NullPointerException....

    // On récupère le champ du fichier
            Part part = request.getPart("fichier");

    =====================

    Versions utilisées :

    Tomcat de dev : v9

    Tomcat de prod (cible pour l'hebergement de mon war in fine) : v7

    java 1.8

    servlet : 3.1

    =====================

    Merci d'avance pour votre aide.

    J.

    -
    Edité par JacquesVinio 14 juin 2018 à 19:52:26

    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2018 à 11:21:01

      Es tu sur que la variable part vaut Null?

      Quel est le code de ta JSP?

      Utilises le formatage du code.

      • Partager sur Facebook
      • Partager sur Twitter
        14 juin 2018 à 17:30:16

        C'est la ligne :

        // On récupère le champ du fichier
        
                Part part = request.getPart("fichier");


        Qui initialise part. Sa nullité est donc surprenante.

        Je vous donne le code de la JSP en début de soirée.

        Qu'est ce que le formatage du code ? L'indentation automatique proposée par Éclipse ?  Je vais essayer cela en effet.

        Par rapport à ma remarque sur la doc qui annonce Part comme une interface, pas de réactions à ce stade ? 

        Merci pour vos premiers éléments en tout cas thetui.

        -
        Edité par JacquesVinio 14 juin 2018 à 19:51:39

        • Partager sur Facebook
        • Partager sur Twitter
          14 juin 2018 à 18:01:56

          Quand je dis formater le code, c'est dans le forum (bouton </> avec l'editeur WYSIWYG et les balises <pre class="brush: java;"> et </pre> dans l'editeur MD).
          • Partager sur Facebook
          • Partager sur Twitter
            14 juin 2018 à 19:55:11

            ma jsp :

            (écart par rapport à OpenClassroom, ma servlet s'appelle : Sender)

            <%@ page pageEncoding="UTF-8" %>
            <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
            <!DOCTYPE html>
            <html>
            <head>
            <meta charset="utf-8" />
            </head>
            <body>
               
                <form method="POST" action="Sender" enctype="multipart/form-data">
                    
                    <c:if test="${ !empty description }">
            	        <p>
            	            <label for="description">Description du fichier : </label>
            	            <input type="text" name="description" id="description" />
            	        </p>
                    </c:if>
                    <p>
                        <label for="fichier">1 - Fichier à envoyer </label>
                        <input type="file" name="fichier" id="fichier" /><br>            
                    </p>
                    <p>
                    	<label for="go">2 - Envoyer le fichier </label>
                    	<input type="submit" name="go" />
                   	</p>
                   	<p>
                   		3 - Attendre pendant l'envoi du fichier. La durée dépend de la taille du fichier et de la vitesse de votre connexion internet.
                   	</p>
                </form>
                <p>
                	<c:if test="${ !empty fichier }"><p><c:out value="4 - Le fichier ${ fichier } (${ description }) a été uploadé !" /></p></c:if>
               	</p>
            </body>
            </html>



            -
            Edité par JacquesVinio 14 juin 2018 à 19:56:10

            • Partager sur Facebook
            • Partager sur Twitter

            J2EE Envoie de fichier - pb sur part.getHeader

            × 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