Partage

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

Vous êtes demandeur·se d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur·se web junior

Je postule
Formation
courte
Financée
à 100%
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.

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

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).
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

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é.
  • Editeur
  • Markdown