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 :

[JSF / PrimeFaces / GlassFish] Bouton upload ne fonctionne pas


Sujet :

JSF Java

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Points : 50
    Points
    50
    Par défaut [JSF / PrimeFaces / GlassFish] Bouton upload ne fonctionne pas
    Bonjour,

    je veux créer un bouton qui me permet d'uploader des fichiers dans un dossier( dans mon cas: c:\tmp).lorsque je clik sur "choose" pour uploader mon ficher, ce dernier s'affiche sur l'ecran avec une barre de progression du telechargement.mais une fois que je click sur le bouton upload mon fichier disparait de la page.xhtml et mon dossier (c:\tmp) est toujours vide.
    je vais poster tout mon code en espérant que quelqu'un puisse m'aider.

    le code XHTML
    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
    <?xml version='1.0' encoding='UTF-8' ?>
    <!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:h="http://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets"
          xmlns:p="http://primefaces.org/ui">
        <h:head>
            <title>file uplaod</title>
        </h:head>
        <h:body>
            <h:form enctype="multipart/form-data" prependId="false">
               <!-- <p:growl id="messages" showSummary="true" showDetail="true" />-->
               <p:growl id="messages" showSummary="true" showDetail="true" autoUpdate="true" />
                <p:fileUpload fileUploadListener="#{com.bean.uploadBean.handleFileUpload}"
                              invalidFileMessage="wrong file.please select an Excel file"
                              invalidSizeMessage="the size can not be larger than 10Mo"
                              sizeLimit="10000000" showButtons="true"  allowTypes="/(\.|\/)(csv|xls|xlst)$/" />
     
            </h:form>
        </h:body>
    </html>
    voici le code du java Bean
    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
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package com.bean;
     
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import javax.faces.application.FacesMessage;
    import javax.faces.context.ExternalContext;
    import javax.faces.context.FacesContext;
    import org.primefaces.event.FileUploadEvent;
    import javax.faces.bean.ManagedBean;
     
    /**
     *
     * @author Haythem
     */
    @ManagedBean
    public class UploadBean {
     
       // private static final int BUFFER_SIZE = 6124;
    private static final int BUFFER_SIZE = 1024;   
        /** Creates a new instance of UploadBean */
        public UploadBean() {
        }
     
        public void handleFileUpload(FileUploadEvent event) {
            ExternalContext extContext = FacesContext.getCurrentInstance().
                    getExternalContext();
     
            //
            try {
                File result = new File(extContext.getRealPath("C://tmp") + "//" + event.getFile().getFileName());
                FileOutputStream fileOutputStream = new FileOutputStream(result);
                byte[] buffer = new byte[BUFFER_SIZE];
                int bulk;
                InputStream inputStream = event.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("Succesful", event.getFile().getFileName() + " is uploaded.");
                FacesContext.getCurrentInstance().addMessage(null, msg);
            } catch (IOException e) {
                e.printStackTrace();
                FacesMessage error = new FacesMessage("The files were not uploaded !");
                FacesContext.getCurrentInstance().addMessage(null, error);
            }
        }
    }
    et enfin voici mon web.xml
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
        <context-param>
            <param-name>javax.faces.VALIDATE_EMPTY_FIELDS</param-name>
            <param-value>true</param-value>
        </context-param>
     
       <!-- for uploading files -->
        <context-param>
            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
            <param-value>server</param-value>
        </context-param>
     
    <!-- for uploading files -->
     
        <context-param>
            <param-name>primefaces.THEME</param-name>
            <param-value>ui-lightness</param-value>
        </context-param>
        <servlet>
            <servlet-name>Faces Servlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>Faces Servlet</servlet-name>
            <url-pattern>/faces/*</url-pattern>
        </servlet-mapping>
        <session-config>
            <session-timeout>
                30
            </session-timeout>
        </session-config>
        <welcome-file-list>
            <welcome-file>faces/login-input.xhtml</welcome-file>
        </welcome-file-list>
        <!--File upload commons -->
        <filter>
            <filter-name>PrimeFaces FileUpload Filter</filter-name>
            <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
            <init-param>
                <param-name>thresholdSize</param-name>
                <param-value>51200</param-value>
            </init-param>
            <init-param>
                <param-name>uploadDirectory</param-name>
                <param-value>C:\tmp</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>PrimeFaces FileUpload Filter</filter-name>
            <servlet-name>Faces Servlet</servlet-name>
        </filter-mapping>
        <!--File upload commons -->
    </web-app>

  2. #2
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Points : 50
    Points
    50
    Par défaut
    il n'y a personne pour m'aider?

  3. #3
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Points : 50
    Points
    50
    Par défaut
    problème résolu. En faite, j'ai utilisé les librairies
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    commons-io
    commons-fileupload

    merci

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

Discussions similaires

  1. upload ne fonctionne pas
    Par deizy dans le forum GWT et Vaadin
    Réponses: 0
    Dernier message: 21/07/2010, 10h36
  2. [CS3] Boutons qui ne fonctionnent pas
    Par yacine_sy dans le forum Flash
    Réponses: 6
    Dernier message: 02/09/2009, 03h37
  3. Bouton qui ne fonctionne pas
    Par presser dans le forum Excel
    Réponses: 7
    Dernier message: 20/02/2009, 09h57
  4. bouton filtre ne fonctionne pas
    Par Salsaboy60 dans le forum IHM
    Réponses: 4
    Dernier message: 18/02/2009, 16h16
  5. Mon bouton détail ne fonctionne pas
    Par cedric/copy dans le forum ASP
    Réponses: 3
    Dernier message: 22/07/2008, 14h43

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