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 :

Récupérer et lire un champs <layout:file>


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut Récupérer et lire un champs <layout:file>
    Bonjour,

    Je ne sais pas trop comment m'y prendre pour récupérer le contenu d'un fichier envoyé par un champs <layout:file>
    J'ai essayé plusieurs choses, mais sans vraiment réussir tout à fait ce que je voulais. Donc je viens ici, pour que l'on me dise si je pars dans le mauvais sens ou pas.

    Mon formulaire en struts est donc ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <layout:form action="/import" width="100%" enctype="multipart/form-data">
    <layout:file key="import" fileKey="fichierImport" property="file" styleClass="fichier"/>
    <!-- VALIDATION -->
    <layout:link href="import.jsp?act=create" styleClass="ok"/>
     
    etc....
    J'ai donc dans mon formBean, les getters et setters pour la propriété file

    Dans mon fichier pour le traitement, j'y ai mis ma méthode correspondant à create

    Mon but étant de lire un fichier , il me fait donc utiliser l'API fileUpload:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //Vérif s'il y a bien eu un fichier d'uploadé
    	if( FileUpload.isMultipartContent(request))
    			{
    				FileUpload fileTest = new FileUpload();
    			//récupère le type de fichier récupéré
    				fileTest.getHeaderEncoding();
    Mon but est ici de récupérer le flux de ce fichier (je n'ai pas besoin de copier ce fichier par la suite, j'ai juste besoin de le lire afin d'effectuer en traitement par la suite), et c'est ça que je ne sais pas trop comment faire....
    C'est là que je bloque un peu par rapport à tout ce que j'ai essayé....

    merci à vous

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Essaye ce genre de code :

    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
     
    public void uploadFiles(HttpServletRequest request, HttpServletResponse response)
    {
            try
            {           
                // Create a factory for disk-based file items
                FileItemFactory factory = new DiskFileItemFactory();
     
                // Create a new file upload handler
                ServletFileUpload upload = new ServletFileUpload(factory);
     
                // Parse the request
                List<FileItem> items = (List<FileItem>)upload.parseRequest(request);
     
                // Process the uploaded items
                Iterator<FileItem> iter = items.iterator();
                while (iter.hasNext()) 
                {
                    FileItem item = iter.next();
                    if ( item.getName() == null || item.getName().trim().length() == 0 ) continue;
     
                    InputStreamReader reader = new InputStreamReader(item.getInputStream());
                    char[] chars = new char[256];
                    while ( reader.read(chars) > 0 )
                    {
                        System.out.print(chars);
                    }
                }
            }
            catch (Throwable t)
            {
                System.out.println(t.getMessage());
            }
        }
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut
    merci

    Dès que j'aurai trouvé pourquoi mes champs ds ma request, sont tjs égal à "null" j'essaie
    Thanks !

Discussions similaires

  1. Réponses: 16
    Dernier message: 29/05/2016, 19h45
  2. [2.x] Récupérer la valeur par un champ de type file
    Par bakh yaye dans le forum Symfony
    Réponses: 2
    Dernier message: 09/05/2012, 12h09
  3. Récupérer le contenu du champ file
    Par alex77140 dans le forum Langage
    Réponses: 1
    Dernier message: 06/07/2011, 10h36
  4. Réponses: 5
    Dernier message: 06/01/2009, 11h22
  5. récupérer fichier d'un champ file avec "import"
    Par dida.ratsimba dans le forum W4 Express
    Réponses: 2
    Dernier message: 18/11/2008, 12h38

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