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

Spring Java Discussion :

Upload de fichier avec Spring MVC


Sujet :

Spring Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2012
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 34
    Points : 34
    Points
    34
    Par défaut Upload de fichier avec Spring MVC
    Bonjour,

    Je travaille sur une application basée sur Spring MVC et je cherche à réaliser un upload de fichier.

    Voilà quelques lignes concernant Fileupload que j'ai réalisées :
    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
        @RequestMapping(value="/uploadeFile", method=RequestMethod.POST)
        public ModelAndView create(@ModelAttribute("uploadItem")UploadItem uploadItem, BindingResult result,
                HttpServletRequest request, HttpServletResponse response,
                HttpSession session) {
     
            MultipartFile multipartFile = uploadItem.getFile();
            String fileName="";
     
            // image type of file processing...
            System.err.println("-------------------------------------------");
            try {
              InputStream inputStream = null;
              OutputStream outputStream = null;
              if (multipartFile.getSize() > 0) {
                     inputStream = multipartFile.getInputStream();
                     fileName = request.getRealPath("") +
                      "/images/"+ multipartFile.getOriginalFilename();              
                     outputStream = new FileOutputStream(fileName);
                     int readBytes = 0;
                     byte[] buffer = new byte[10000];
                     while ((readBytes = inputStream.read(buffer, 0, 10000)) != -1) {
                            outputStream.write(buffer, 0, readBytes);
                      }
                     outputStream.close();
                     inputStream.close();
                   }           
             } catch (Exception e) {
                    e.printStackTrace();
             }
            // .......................................... 
            Map model = new HashMap();
            model.put("fileName", multipartFile.getOriginalFilename());
            model.put("filepath", "images/"+multipartFile.getOriginalFilename());
            ModelAndView mav=new ModelAndView("FileUploadSuccess");   
            mav.addObject(model);
     
            return mav ;
      }
    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
    package spring.dto;
     
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.commons.CommonsMultipartFile;
     
    public class UploadItem {
     
        MultipartFile file;
        private String name;
     
        public String getName() {
            return name;
        }
     
        public void setName(String name) {
            this.name = name;
        }
     
        public MultipartFile getFile() {
            return file;
        }
     
        public void setFile(MultipartFile file) {
            this.file = file;
        }
    }
    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
    <form:form action="uploadeFile.do"  commandName="uploadItem">
     
    <table align="center" >
     
    <tr>
    <td>Please Select File:</td>
    <td>
    <form:input type="file" path="file" id="file" /></td>
    <td><form:input  path="name"/></td>
    </tr>
     
    <tr>
    <td></td>
    <td><font color="red"><form:errors path="file"/></font></td>
    </tr>
     
    <tr>
    <td></td>
    <td><input type="submit" value="File Upload"/></td>
    </tr>
    </table>
     
    </form:form>
    Le souci est que lorsque je veux sauver l'objet uploadeItem sur le serveur, le contenu de l'attribut file est null.
    Par contre le contenu, de l'attribut name est rempli.

    Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 6
    Points : 2
    Points
    2
    Par défaut enctype du form
    Salut,

    Je pense que ça vient du fait que ton form n'est pas du type multipart.

    Ajoute cet attribut à ton form :
    enctype="multipart/form-data"

Discussions similaires

  1. download et upload des fichier avec JSP & mysql
    Par MSM_007 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/07/2006, 15h20
  2. Upload de fichier avec jsp
    Par fx2024 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 07/06/2006, 17h02
  3. Réponses: 3
    Dernier message: 08/05/2006, 23h31
  4. [Upload] Upload de fichier avec un script PHP
    Par largolgd dans le forum Langage
    Réponses: 7
    Dernier message: 23/04/2006, 15h21
  5. Upload de fichier avec variable passée en paramètre
    Par reservoirdev dans le forum ASP
    Réponses: 2
    Dernier message: 22/04/2006, 16h06

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