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

Servlets/JSP Java Discussion :

[Multipart]Analyse HttpServletRequest request


Sujet :

Servlets/JSP Java

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Un peu de tous ..
    Inscrit en
    Juin 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Belgique

    Informations professionnelles :
    Activité : Un peu de tous ..
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2003
    Messages : 25
    Points : 38
    Points
    38
    Par défaut [Multipart]Analyse HttpServletRequest request
    Bonjour,

    Dans une apli jsp/tomcat,

    J'ai un flux entrant (request) que jintercepte dans mon controlleur,

    avec un SetContentType = "multipart/form-data" donc je passe un fichier et des string.

    Quand je lis le request pour faire une copie du fichier ok
    et plus de donnee pour les string.

    Quand je lis les String Ok , mais plus de trace du fichier

    QQ peux t il m'expliquer pourquoi les operation séparée fonctionne et pas les deux ensemble.

    Merci de me répondre
    (Debut de la classe qui lit les parametres)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    	MultipartParser mp = new MultipartParser(request, 10*1020*1024); 
    	Part part;
     
     while(( part= mp.readNextPart())!=null){
     
      		if (part.getName().equals("p0")){
            ParamPart parampart = (ParamPart) part;
            p0 = parampart.getStringValue();
      		}
    Etc ... :


    [Modéré par Didier]
    Ajout de tag dans le titre
    Ajout de balises code pour la lisibilité
    Lire les règles du forum : Règles du forum Java

  2. #2
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    bien, premièrement, je n'ai presque rien compris à ton charabia donc ça serait bien que tu apprennes à faire des phrases

    si j'ai bien compris, tu utilises oreilly pour faire de l'upload...
    dans ce cas, tu mets ton formulaire en multipart/form-data pour qu'il prenne le fichier et pas seulement le nom du fichier car tu as certainement un balise INPUT TYPE=FILE dans ce formulaire...

    Ensuite, j'ai rine compris à ton explication sur ce qui ne marche pas...
    ce que je peux te dire, c'est que l'operateur request ne fonctionne plus une fois que tu met le formulaire en multipart form data car les données sont passées par un autre mode (je suis pas trés claire... ).
    il faut que tu recupere ton fichier et tes strings avec la même methode, celle des Part etc...

    si tu as besoin, je pourrais te mettre un exemple de code.

    Bon courage

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Un peu de tous ..
    Inscrit en
    Juin 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Belgique

    Informations professionnelles :
    Activité : Un peu de tous ..
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2003
    Messages : 25
    Points : 38
    Points
    38
    Par défaut
    Ok, je suis nul newbie nouveau mais bon ont est tous passer par la un jour ...

    Merci de me repondre, en effet ja passe un formulaire qui contient le mime type multipart.... et la lib O'Reilly

    et plusieurs String que je voudrais recuperer.

    Mais comme je l'ai dits, si je recupere le fichier ok mais pas les string
    et vice versa

    Si vous pourriez me mettre un (pti)bout de code (ou un gros)cela me ferait plaisir(beaucoup)


  4. #4
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    ok, voici un morceau de code pour recuperer les données :
    recuperer un champ input type=file nommé URLTexte et 2 string nommés Titre et Titre2

    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
     
        String titre=null;
        String titre2=null;
     MultipartParser mp=new MultipartParser(request,10*1024*1024); //10MB
        Part part;
        String fileName=null;
        int i=0;
     
      /* Recupere les données du formulaire de la page precedente
      depend du type de données envoyé*/
      while((part=mp.readNextPart())!=null){
          /*si c'est le fichier*/
          i++;
          if(part.getName().equals("URLTexte")){
              /* recupere le fichier sous la forme d'un filepart*/
              FilePart filePart=(FilePart)part;
              fileName=filePart.getFileName();
              /*recopie le fichier sur le serveur*/
                if(fileName!=null){
     
                  if(part.getName().equals("URLTexte")){
                      long size=filePart.writeTo(new File(urltxt+fileName));
                      URLTexte=urltxtbdd+fileName;
     
                  }
     
              }
          }else{
              /*recupere les champ sous forme de ParamPart*/
              ParamPart paramPart=(ParamPart)part;
     
              if(part.getName().equals("Titre")){
                  titre=paramPart.getStringValue();
              }
             if(part.getName().equals("Titre2")){
                  titre2=paramPart.getStringValue();
              }
     
     
     
        }
      }
    voilà, bon courage...

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Un peu de tous ..
    Inscrit en
    Juin 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Belgique

    Informations professionnelles :
    Activité : Un peu de tous ..
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2003
    Messages : 25
    Points : 38
    Points
    38
    Par défaut [resolu] merci a tous Analyse HttpServlet request
    Merci pour le code
    je suis en train de le tester,

    Merci de ta rapidité a me répondre



    il me semble avoir vu ce code chez http://genomenews.free.fr/servlets.html

  6. #6
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    euh, en fait, c'est le code que j'utilise sur mon site mais je l'avais piqué quelque part sur le net donc c'est possible...

    bon courage

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Un peu de tous ..
    Inscrit en
    Juin 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Belgique

    Informations professionnelles :
    Activité : Un peu de tous ..
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2003
    Messages : 25
    Points : 38
    Points
    38
    Par défaut
    Derieniere petite chose :

    Un Grand Merci pour le code cela fonctionne,

    peux medire comment je recupere un tableau de string avec cette methode ?

    String []profil = null ;


    if(part.getName().equals("profilA")){
    ParamPart parampart = (ParamPart) part;
    []profil = parampart.getStringValue();

    me donne une erreur
    A+

  8. #8
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 109
    Points : 111
    Points
    111
    Par défaut
    désolé, je ne sais pas, j'ai regardé dans les fonctions disponible de paramPart et il y a seulement getStringValue pour recuperer une valeur alors pêut être que tu dois le faire pour chaque valeur de ton tableau mais ça me parait dingue ! il doit y avoir une manière de faire mais je ne l'ai jamais fait, même avec request donc là, je ne peut pas t'aider, désolé

    bon courage quand même

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

Discussions similaires

  1. Qu'est ce qu'une analyse fonctionelle
    Par sandrine dans le forum Débats sur le développement - Le Best Of
    Réponses: 22
    Dernier message: 28/02/2015, 19h03
  2. Conversion de requête HttpServletRequest de multipart en text
    Par heroined dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 05/10/2009, 14h00
  3. Outil d'analyse de code
    Par Bloon dans le forum Outils
    Réponses: 8
    Dernier message: 07/08/2007, 09h04
  4. Analyser la ligne de commande
    Par benj29 dans le forum C
    Réponses: 14
    Dernier message: 19/11/2002, 04h13

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