Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    mars 2012
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : mars 2012
    Messages : 34
    Points : 12
    Points
    12

    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 :
    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 :
    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 :
    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
    Invité de passage
    Homme Profil pro
    Inscrit en
    septembre 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : septembre 2012
    Messages : 6
    Points : 1
    Points
    1

    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"

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •