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

JSF Java Discussion :

Problème image et p:upload


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut Problème image et p:upload
    Bonsoir,

    Je suis entrain de développer un petit exemple sur comment on upload une image.
    Mon problème c'est que lorsque je clique sur le button de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:fileUpload id="photo" value="#{adminCtr.produit.photo}" mode="simple">
    j' upload l'image et je stock seulement le nom de l'image au niveau base de donnée(au niveau managed bean) mais je veux maintenant au niveau que j'ai terminé l'upload je stock l'image courante dans un dossier qui existe dans mon pc et j'ai pas trouvé comment faire sachant que mon attribut photo et de type String.s'il vous plait est-ce que quelqu'un a une idée?
    Merci

  2. #2
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Et voilà un petit peu de lecture : http://www.java-tutorial.ch/java-ser...ith-primefaces

    tu vois qu'il y a un point clé important : il faut mettre enctype="multipart/form-data" dans ton tag h:form

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    Au fait j'ai réussi à faire le truc mais avec mode="advanced" si je change le mode vers "simple" rien ne se passe .

  4. #4
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Salut,

    montre ton formulaire en entier et ton ManagedBean.

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mai 2011
    Messages : 790
    Par défaut
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://java.sun.com/jsf/facelets"
    	xmlns:h="http://java.sun.com/jsf/html"
    	xmlns:f="http://java.sun.com/jsf/core"
    	xmlns:p="http://primefaces.org/ui">
     
     
    <h:head>
    	<title>Nouveau Produit</title>
    </h:head>
     
     
    <body>
    	<h:form id="form1" enctype="multipart/form-data">
    <p:panel id="panel2" style="position:absolute; top:480px; width:97.8%">
    			<f:facet name="header">
    				<h:outputLabel value="Informations Produit" style="left:200px" />
    			</f:facet>
     
    			<h:panelGrid columns="3" cellspacing="10">
     
    				<h:outputLabel for="caracteristiques"
    					value="Spécificité &nbsp;&nbsp;&nbsp;" />
    				<p:inputTextarea rows="5" cols="50" id="caracteristiques" s
    					value="#{adminCtr.produit.caracteristiques}" required="true" label="Caractéristiques"
    					validatorMessage="La taille doit contenir au moin 40 caractères"
    					requiredMessage="Vous devez saisir les caractèristiques du produit">
    					<f:validateLength minimum="40" maximum="3000" />
    					<p:ajax update="carac" event="blur" />
    				</p:inputTextarea>
    				<p:message id="carac" for="caracteristiques"></p:message>
     
     
    				<h:outputLabel for="description"
    					value="Description &nbsp;&nbsp;&nbsp;" />
    				<p:inputTextarea rows="5" cols="50" id="description"
    					value="#{adminCtr.produit.description}" required="true" label="Description"
    					validatorMessage="La taille doit contenir au moin 40 caractères"
    					requiredMessage="Vous devez saisir une description du produit">
    					<f:validateLength minimum="40" maximum="3000" />
    					<p:ajax update="desc" event="blur" />
    				</p:inputTextarea>
    				<p:message id="desc" for="description"></p:message>
     
    				<h:outputLabel for="photo" value="Photo &nbsp;&nbsp;&nbsp;" />
    				<p:fileUpload mode="advanced" id="photo" 
    					fileUploadListener="#{adminCtr.handleFileUpload}" 
    					allowTypes="/(\.|\/)(gif|jpg|jpeg|gif|png|PNG|GIF|JPG|JPEG)$/"
    					auto="true" />
    				<p:message id="msg" for="photo"></p:message>
     
    			</h:panelGrid>
    			<p:commandButton value="Enregistrer" action="#{adminCtr.saveProduit}" update="form1"></p:commandButton>
     
    		</p:panel>
    </h:form>
    </body>
    </html>
    et mon managed bean est

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    public class AdminCtr {
     
    private static FileUploadEvent even;
    	private static final int BUFFER_SIZE = 6124;
    //Récuperer le nom de la photo
    	public void handleFileUpload(FileUploadEvent event) {
    		produit.setPhoto(event.getFile().getFileName());
    		even=event;	
    	}
     
    //Ajouter un Nouveau Produit
    	public String saveProduit(){
     
    		    File result = new File("C:\\env_dev\\Site_Web_De_Vente_En_Ligne\\WebContent\\images\\"+produit.getPhoto());
    	        System.out.println(result.getAbsolutePath());    
    	        try {
    	            FileOutputStream fileOutputStream = new FileOutputStream(result);
    	            byte[] buffer = new byte[BUFFER_SIZE];
    	            int bulk;
    	            InputStream inputStream = even.getFile().getInputstream();
    	            while(true){
    	                bulk = inputStream.read(buffer);
    	                if (bulk < 0){
    	                    break;
    	                }
    	                fileOutputStream.write(buffer,0,bulk);
    	                fileOutputStream.flush();
    	            }
    	            fileOutputStream.close();
    	            inputStream.close();
    	            FacesMessage msg = new FacesMessage("File Description", "file name: " + produit.getPhoto() );
    	        } catch(IOException e){
    	            e.printStackTrace();
    	            FacesMessage error = new FacesMessage(FacesMessage.SEVERITY_ERROR, " the files were not uploaded!", "");
    	            FacesContext.getCurrentInstance().addMessage(null, error);
    	        }	
    		    .....
    Au fait ce code marche avec mode="advanced" et lorsque je change me mode="simple" ça marche pas ça me retourne une exception .

    Merci

  6. #6
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    et l'exception, tu peux donner la StackTrace ?

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

Discussions similaires

  1. [PHP 5.1] probléme image uploadée
    Par hanitax dans le forum Langage
    Réponses: 1
    Dernier message: 13/06/2013, 11h04
  2. [CKEditor] Probléme insertion style et upload image
    Par klack dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 30/11/2009, 16h12
  3. [CKEditor] Problème bizarre avec l'upload d'images
    Par Jorael dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 19/12/2007, 15h41
  4. [Image]Vérifier taille image lors d'upload FTP
    Par MiJack dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 10/09/2004, 01h10

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