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; } }Le souci est que lorsque je veux sauver l'objet uploadeItem sur le serveur, le contenu de l'attribut file est null.
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>
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.
Partager