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.