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

GWT et Vaadin Java Discussion :

[FileUpload]Lecture d'un fichier sur le poste client


Sujet :

GWT et Vaadin Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 31
    Points : 26
    Points
    26
    Par défaut [FileUpload]Lecture d'un fichier sur le poste client
    Bonjour,

    J'ai besoin de récupérer un fichier CSV sur le poste client pour ensuite le parcourir du coté serveur. Je me suis donc naturellement tourné vers la classe FileUpload :

    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
     
    //      Create a FormPanel and point it at a service.
            final FormPanel form = new FormPanel();
            String urlAction = "/nom_du_projet/nom_du_projet.action";
            form.setAction(urlAction);
            initWidget(form);
     
            // Because we're going to add a FileUpload widget, we'll need to set the
            // form to use the POST method, and multipart MIME encoding.
            form.setEncoding(FormPanel.ENCODING_MULTIPART);
            form.setMethod(FormPanel.METHOD_POST);
     
            // Create a panel to hold all of the form widgets.
            VerticalPanel panel = new VerticalPanel();
            form.setWidget(panel);
     
            // Create a FileUpload widget.
            upload = new FileUpload();
            upload.setName("uploadFormElement");
            panel.add(upload);
     
            // Add a 'submit' button.
            panel.add(new Button("Submit", new ClickListener() {
              public void onClick(Widget sender) {
                form.submit();
              }
            }));
     
            // Add an event handler to the form.
            form.addFormHandler(new FormHandler() {
              public void onSubmit(FormSubmitEvent event) {
              }
     
              public void onSubmitComplete(FormSubmitCompleteEvent event) {
                  Window.alert(event.getResults());
              }
            });
        }
    Le problème c'est que "event.getResults()" me renvoie tout le temps sans rien dedans.
    Et si je change l'urlAction cela me renvoie un truc du genre "etat http 404 - la ressource n'est pas disponible". Ce qui me fait dire que l'url est bonne. Me manque-t-il quelque chose d'autre? ou un paramètrage ? J'ai pourtant vu plusieurs tutoriels GWT qui font exactement comme moi!

    Merci d'avance!

  2. #2
    Rédacteur
    Avatar de benwit
    Profil pro
    dev
    Inscrit en
    Septembre 2004
    Messages
    1 676
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 676
    Points : 4 265
    Points
    4 265
    Par défaut
    A priori, c'est l'action de ton serveur "/nom_du_projet/nom_du_projet.action" qui te retourne <DIV id=slot></DIV>

    Il faut qu'après avoir lu le fichier csv (reçu dans le flux de la requête), elle t'envoit le résultat que tu souhaites traiter dans onSubmitComplete.

  3. #3
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Effectivement, pour avoir fait la même chose avec GWT, il faut que ta Servlet mette des données dans la réponse. Par contre, il me semblait que j'avais eu des soucis entre FF et IE.

    Il faut que tu utilises getOutputStream() ou getWriter() (sans oublier de préciser le content type). Voir l'interface ServletResponse de l'API Servlet.

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/10/2011, 18h26
  2. Téléchargement d'un fichier sur le poste client
    Par Général03 dans le forum Langage
    Réponses: 5
    Dernier message: 03/11/2009, 22h34
  3. visualiser un fichier sur un poste client
    Par carinia dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 15/09/2009, 15h12
  4. Lecture d'un fichier sur un poste client
    Par amelA dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 09/10/2007, 12h09
  5. Réponses: 2
    Dernier message: 25/09/2007, 15h55

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