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 :

upload des fichier du poste client au serveur


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Par défaut upload des fichier du poste client au serveur
    Bonjour tout le monde:
    j'ai essayé de faire l'exemple suivant d'upload d'un fichier ave tomahawk/jsf:
    http://www.roseindia.net/jsf/apache-...load_tag.shtml

    le pb qui se pose est que je vois pas de telechargement, il ya meme pas un code qui enregistre le fichier dans un repertoire !!!

    Pouvez vous m'aider ?
    j'ai besoin defaire du upload de fichiers de différents type: (pdf, txt,doc..) avec jsf et je sais pas comment faire

    merci d'avance
    N.B: je travaille avec JSF/Eclipse europa/tomcat

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Bonjour,

    Pourrais-tu nous en dire un peu plus sur ton problème ?
    Et également nous montrer le bout de code incriminé (code JSF, code du bean, web.xml) ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Par défaut
    re bonjour,
    ok donc, voilà le code que j'ai mis en place:

    web.xml file

    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
     
     
    <filter>
        <filter-name>extensionsFilter</filter-name>
            <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
            <init-param>
                    <description>Set the size limit for uploaded files.
                           Format: 10 - 10 bytes
                          10k - 10 KB
                          10m - 10 MB
                          1g - 1 GB
                    </description>
                    <param-name>uploadMaxFileSize</param-name>
                    <param-value>100m</param-value>
            </init-param>
            <init-param>
                    <description>Set the threshold size - files below this limit are stored
    			     in memory, files above this limit are stored on disk.
                             Format: 10 - 10 bytes
                             10k - 10 KB
                             10m - 10 MB
                             1g - 1 GB
                     </description>
                     <param-name>uploadThresholdSize</param-name>
                     <param-value>100k</param-value>
             </init-param>
    </filter>
     
    <filter-mapping>
             <filter-name>extensionsFilter</filter-name>
             <url-pattern>*.jsf</url-pattern>
    </filter-mapping>
     
    <filter-mapping>
              <filter-name>extensionsFilter</filter-name>
              <url-pattern>/faces/*</url-pattern>
    </filter-mapping>
    inputFileUpload.jsp

    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
     
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
    <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t" %>
    <html>
    <head>
    <title>t:inputFileUpload example</title>
    </head>
    <body>
    <f:view>
      <h:form id="welcomeForm" enctype="multipart/form-data">
        <t:inputFileUpload id="fileupload" value="#{FileUploadForm.upFile}"
    			 size="20" /><p/>
        <h:commandButton value="Load the file" action="#{FileUploadForm.upload}" />
        <t:outputText value="File Uploaded Successfully." 
    		rendered="#{FileUploadForm.rendSuccess}" 
    		style="color:green;font-weight:bold"/>
        <t:outputText value="Error in File Uploading." 
    		rendered="#{FileUploadForm.rendFailure}" 
    		style="color:red;font-weight:bold"/>
      </h:form>
    </f:view>
    </body>
    </html>
    FileUploadForm.java

    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
     
     
    import java.io.*;
    import javax.servlet.http.*;
    import org.apache.myfaces.custom.fileupload.UploadedFile;
    import javax.faces.context.FacesContext;
     
    public class FileUploadForm{
        private UploadedFile upFile;
         boolean rendSuccess=false;
      boolean rendFailure=false;
     
      public FileUploadForm(){
      }
     
        public UploadedFile getUpFile(){
            return upFile;
        }
     
        public void setUpFile(UploadedFile upFile){
            this.upFile = upFile;
        }
     
      public boolean getRendSuccess(){
            return rendSuccess;
        }
     
      public void setRendSuccess(boolean rendSuccess){
            this.rendSuccess = rendSuccess;
        }
     
      public boolean getRendFailure(){
            return rendFailure;
        }
     
      public void setRendFailure(boolean rendFailure){
            this.rendFailure = rendFailure;
        }
     
        public String upload() throws IOException{
        try {
          InputStream stream = upFile.getInputStream();
          long size = upFile.getSize();
          byte [] buffer = new byte[(int)size];
          stream.read(buffer, 0, (int)size);
          stream.close();
          rendSuccess=true;
          rendFailure=false;
          System.out.println("File Upload Successful.");
          return "ok";
        }
        catch (Exception ioe) {
          System.out.println("File Upload Unsuccessful.");
          rendSuccess=false;
          rendFailure=true;
          return "no";
            }
      }
    }

    faces-config.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
     
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <faces-config
        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-facesconfig_1_2.xsd"
        version="1.2">
     
      <managed-bean> 
        <managed-bean-name>WelcomeBean</managed-bean-name> 
        <managed-bean-class>tomahawkfileupload.WelcomeBean</managed-bean-class> 
        <managed-bean-scope>session</managed-bean-scope> 
      </managed-bean>
      <managed-bean>
      	<managed-bean-name>
      	fileUploadForm</managed-bean-name>
      	<managed-bean-class>
      	FileUploadForm</managed-bean-class>
      	<managed-bean-scope>
      	session</managed-bean-scope>
      </managed-bean> 
     
      <navigation-rule> 
        <from-view-id>*</from-view-id> 
        <navigation-case> 
          <from-action>#{WelcomeBean.fmWelcome}</from-action> 
          <from-outcome>success</from-outcome> 
          <to-view-id>/Welcome.jsp</to-view-id> 
        </navigation-case> 
        <navigation-case> 
          <from-action>#{WelcomeBean.fmBicycle}</from-action> 
          <from-outcome>bypass</from-outcome> 
          <to-view-id>/Welcome.jsp</to-view-id> 
        </navigation-case> 
      </navigation-rule> 
     
     
     
    </faces-config>
    Tout se passe bien et j'ai bien l'affichage d'un message "upload successful", mais, en fait, il n'y a pas creation d'un fichier dans lequel le contenu du fichier lu est enregistré. et moi j'ai besoin d'enregistrer les fichiers uploadés (quelque soit leur type) dans un dossier de mon application.

    merci bcp

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 35
    Par défaut
    Je pense que c'est à toi de créer le fichier.
    La classe UploadedFile a un inputStream qui te permet de récupérer le contenu du fichier uploadé.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Par défaut
    je ne crois pas, franchement!

  6. #6
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 29
    Par défaut
    la solution est là:
    http://balusc.blogspot.com/2008/02/u...-with-jsf.html

    Merci à tous!

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 19/02/2013, 15h55
  2. Uploader des fichiers sur un serveur
    Par diabli73 dans le forum Général Java
    Réponses: 7
    Dernier message: 14/09/2010, 17h41
  3. Réponses: 1
    Dernier message: 28/01/2009, 12h58
  4. Réponses: 7
    Dernier message: 18/01/2007, 15h59
  5. upload des fichiers dans mon serveur
    Par abdou.sahraoui dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 29/05/2006, 09h32

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