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

Struts 1 Java Discussion :

Fichier trop gros => propriétés du formulaire non transmises


Sujet :

Struts 1 Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 17
    Points
    17
    Par défaut Fichier trop gros => propriétés du formulaire non transmises
    Bonjour,
    Après de nombreuses recherches sur le net, je n'ai pas trouvé d'infos concernant l'upload de fichiers trop volumineux.
    Je fais dans un formulaire un upload de fichiers.
    Tout fonctionne si la taille du fichier sélectionné est petite, ou si l'utilisateur n'en sélectionne pas (dans ce cas le FormFile est quand même instancié mais getFileName() renvoie null);
    Dans ce même formulaire je définis d'autres properties.
    Si mon fichier est trop volumineux, dans mon ActionForm, je fais un test sur le FormFile : s'il est null, il n'a pas été uploader car trop gros.
    Le problème, c'est que les autres properties ne sont pas transmises non plus.
    Comment faire pour les récupérer ?

    Dans tous les cas, l'utilisateur est redirigé sur une page qui affiche des données avec les eventuels messages d'erreur en haut de la page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    modification.jsp:
     
    <html:form action="/rxhl/equipement/UploadAction.do?method=initialiser" enctype="multipart/form-data" method="post"
     
    <html:hidden name="typeequipement" property="typeEquipementId" />
    <html:hidden name="statut" property="id" />
    <html:hidden name="equipement" property="objRefIdr"/>
     
    <html:file property="file" size="40"/></td>  	                      
    input type="button" class="button" onclick="javascript:submit();" value="<bean:message bundle="rxhl" key="rxhl.bouton.upload" locale="locale" />"/> 				
     
    </html:form>
    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
     
    dans MonActionForm, action déclenchée :
     
    public ActionForward initialiser(ActionMapping mapping,
                                       ActionForm form,
                                       HttpServletRequest request,
                                       HttpServletResponse response) throws Exception {
     
    ActionMessages messages = new ActionMessages();
    AjoutFichierEquipementForm afe = (AjoutFichierEquipementForm)form;
    afe.setAction("enregistrer");
     
    ModificationEquipementForm formModif = new ModificationEquipementForm();
    formModif.setTypeEquipementId(afe.getTypeEquipementId);
    // afe.getTypeEquipementId est null si le FormFile est null
     
    messages = form.validate( mapping, request );
     
    form=formModif;
     
    if ( messages != null && !messages.isEmpty() ) {
    	saveErrors(request, messages);
    }
    // code d'enregistrement que j'ai supprimé pour plus de lisibilité
    return mapping.findForward("Enregistrer");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    struts-config.xml :
     
    <action path="/rxhl/equipement/UploadAction"
                    type="com.rte.rxhl.action.equipement.UploadAction"
                    name="ajoutFichierEquipementForm"
                    parameter="method"
                    scope="request"
                    validate="false">
    <forward name="Enregistrer" path="/rxhl/equipement/ModifierAction.do?method=initialiser" />
    </action>

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Personne n'a d'idées?
    Je n'ai pas été très claire peut être (la rédaction, c'est pas mon point fort )
    Si c'est le cas, n'hésitez pas à me demander des explications supplémentaires.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Bon, finalement, je déclenche une fonction javascript avant d'envoyer mon formulaire qui passe en "dur" mes paramètres dans l'URL.
    Et donc, seule la balise html:file de struts m'est utile.
    J'aime pas trop cette solution, mais j'en ai pas trouvé d'autres

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/09/2009, 15h04
  2. [PHP 5.0] Prévenir utilisateur que fichier trop gros
    Par afrodje dans le forum Langage
    Réponses: 2
    Dernier message: 05/03/2009, 09h08
  3. formulaire non soumis si fichier trop gros
    Par atom41 dans le forum Langage
    Réponses: 3
    Dernier message: 30/10/2008, 16h57
  4. [Upload] fichier trop gros : serveur introuvable
    Par Patrick dans le forum Langage
    Réponses: 1
    Dernier message: 16/10/2007, 14h05
  5. Fichier trop gros = réinitialisation
    Par Artusamak dans le forum Langage
    Réponses: 11
    Dernier message: 19/12/2006, 22h25

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