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 de Upload et Download de fichiers


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut Problème de Upload et Download de fichiers
    Salut,

    j'ai créé une application web, et j'aimerais uploader et dowloader des fichiers qui se trouvent sur un serveur d'application.

    Pour ce qui est de : upload, j'ai vu qu'il existe en iceFaces <ice:inputFile> j'ai donc essayé, voici ce que j'ai écris dans mon fichier xhtml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <ice:panelGroup>	
       <ice:inputFile id="inputFileComponent" 
                         file="#{user.file}" />
       <ice:message for="inputFileComponent" />
       <ice:outputText value="#{user.fileLocation}" />
     </ice:panelGroup>
    ensuite voici mon bean user :

    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
     
    @Name("user")
    public class User {
     
        File file;
        String fileLocation;
     
        public File getFile() {
            return file;
        }
     
     
     
        public String getFileLocation(){
            return fileLocation;
        }
     
        public void setFile(File file) {
            this.file = file;
            fileLocation = file.getPath();
        }
     
     
    }
    et enfin j'ai ajouté ces lignes dans web.xml pour indiquer où doivent se trouver les fichiers uploader sur le serveur d'applications :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <context-param>
            <param-name>com.icesoft.faces.uploadDirectory</param-name>
            <param-value>C:\Uploads</param-value>
        </context-param>
        <context-param>
            <param-name>com.icesoft.faces.uploadDirectoryAbsolute</param-name>
            <param-value>true</param-value>
        </context-param>
    Mon problème est que malheureusement, le fichier n'est pas uploader sur mon serveur d'application, j'ai dû oublié quelque chose mais quoi ?

    Pour ce qui est de download : et bien sur cette question je n'ai pas trouvé comment faire donc si vous connaissez des tuto ou des bouts de code qui peuvent m'aider, je suis preneur

    Je travail avec JBoss-4.2.0.GA, JBoss-seam-2.0.1.GA

    Merci

  2. #2
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    Pour upload ça fonctionne, mais le problème c'est que lorsqu'un fichier se upload sur le serveur il y a création d'un dossier avec un nom composé que de chiffre, et on y trouve le fichier que j'ai uploader.
    Le problème est que Je voudrais spécifier le nom du dossier, par exemple pour les fichiers dont l'extension est .jpg, qu'ils se trouvent sous le dossier image du serveur, pour les fichiers txt, qu'ils se trouvent sous le dossier texte etc...

    Est-ce que cela est possible ?
    Si oui comment faire.

    Ensuite deuxième problème, je n'arrive pas à trouver comment downloader un fichier qui se trouve sur le serveur vers le client, si quelqu'un à une idée, je suis preneur

    Petit rappel, je travaille avec le serveur d'application JBoss-4.2.2.GA, java version 1.5, eclipse 3.3, et le framework seam-2.0.2.CR1

    Merci

  3. #3
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    pour le download c'est pas lies au JSF,tu peux faire des lien vers tes fichier et la d'apres les extension le browser sais ce qu'il a faire download ou affichage.
    sinon tu utilise le outputstram de servletresponse ou tu ecrit ton stream de byte et tu envoie(pour plus d'info cherche sur topic sur jasper report et jsf ; ca inclue ce que tu veux faire).

  4. #4
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    Salut, merci pour ta réponse

    Donc si j'ai bien compris, pour pouvoir uploader et dowloader des fichiers, il faut obligatoirement passer par des servlets ?

    Par contre, tu dis : "tu peux faire des lien vers tes fichier et la d'apres les extension le browser sais ce qu'il a faire download ou affichage"

    Là je n'ai pas compris...

    et enfin tu dis aussi : "(pour plus d'info cherche sur topic sur jasper report et jsf ; ca inclue ce que tu veux faire)."

    Et là aussi je n'ai pas compris où il faut que je cherche désolé

  5. #5
    Membre chevronné Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Par défaut
    Pour le download tu peux utiliser la servlet de JSF ....
    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
     
    			FacesContext context = FacesContext.getCurrentInstance();
    			ExternalContext ec = context.getExternalContext();
    			HttpServletResponse response = (HttpServletResponse) ec
    					.getResponse();
    			response.reset();
    			response.setContentType("application/csv");
    			response.setHeader("Content-Disposition",
    					"filename=Repartition-Agence.csv");
    			response.setHeader("Content-Transfer-Encoding", "binary");
    			ServletOutputStream sop = response.getOutputStream();
    			StringBuffer sb = rechercheLocal.getRepartitionAgenceIris();
    			sop.write("mon;fichier;csv");
    			sop.flush();
    			context.responseComplete();

  6. #6
    Membre expérimenté
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Par défaut
    ca parle de la meme chose http://www.developpez.net/forums/sho...ghlight=jasper

    mais heid t'as donne le code necessaire

  7. #7
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 222
    Par défaut
    Merci pour le code,

    par contre je ne comprend pas comment cette méthode fonctionne, voila, moi j'aimerais avoir un formulaire en jsf avec un bouton download qui appel une méthode dont le corps de cette méthode serait ton code, du coup est ce que c'est possible avec le code que tu m'as donnés, si oui, pourquoi ?

    En résumé : Est ce que ton code va pouvoir récupérer un fichier qui se trouve sur le serveur et le télécharger sur le client ?

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

Discussions similaires

  1. Upload et download de fichier
    Par jroman dans le forum Débuter
    Réponses: 3
    Dernier message: 28/06/2011, 09h09
  2. upload et download de fichiers sur serveur
    Par hutch13015 dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 21/07/2010, 22h15
  3. [AJAX] upload ajax avec des fichier compressé..
    Par Cristabelle dans le forum AJAX
    Réponses: 1
    Dernier message: 18/05/2010, 10h22
  4. [Upload] le download des fichiers
    Par gabi27685 dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2008, 15h55
  5. Upload et download de fichier sans utiliser JSP
    Par RR instinct dans le forum Langage
    Réponses: 8
    Dernier message: 30/08/2006, 12h08

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