Téléchargement de plusieurs fichiers Spring MVC avec la fonction de formulaire de fichiers multiples HTML5

Je suis en train de télécharger plusieurs fichiers à l'aide de printemps 3.1.2 avec @Contrôleur et @RequestMapping.

Voici ce que j'ai fait et ma configuration.

Html5 forme :

<form action="addFileSystemImage.foo" method="post" enctype="multipart/form-data">

    <input class='fileInput' type="file" name="files[]" multiple="multiple" />

    <input type="text" value="13asdf12eadsf" name="locId"/>

    <input type="submit" />

</form>

Méthode de contrôleur :

@RequestMapping(value="/publisher/addFileSystemImage.foo", method=RequestMethod.POST)
public @ResponseBody List<UploadedFile> addFileSystemImage(@RequestParam("files[]") ArrayList<MultipartFile> files, String locId, HttpServletRequest request) {

 //do lotsa voodoo rocket science here to process the files  

}

ma conf :

 <mvc:annotation-driven />
 <context:component-scan base-package="foo.package"></context:component-scan>
 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>

De la soumission du formulaire est de la addFileSystemImage méthode. Les données pour locId argument est ici, mais les "fichiers" de l'argument n'est pas lié. Il est systématiquement nulle quelle que soit la combinaison de l'argument des noms de champ //les types d'argument que j'ai essayé.

Le HttpServletRequest argument est un org.springframework.web.multipart.de soutien.DefaultMultipartHttpServletRequest et il est titulaire d'un multiPartFile attribut qui détient effectivement le fichier de données. En regardant sa valeur dans le debug me donne

{files[]=[org.springframework.web.multipart.commons.CommonsMultipartFile@16afd7f9, org.springframework.web.multipart.commons.CommonsMultipartFile@728c2811, org.springframework.web.multipart.commons.CommonsMultipartFile@4f9aaed7]}

qui signifie que mes fichiers[] est en effet ici ... mais de toute façon il ne passe pas à la liaison de données de l'étape correctement ...

Maintenant ... je sais tu vas me dire que je peux récupérer les données à partir de la demande ... mais je préfère avoir ce travail correctement ... le Sring... 🙂 et mon ArrayList de MultipartFile correctement renseigné.

Suis-je raté quelque chose ? Quelqu'un a fait ce travail correctement ? Que puis-je faire pour avoir cette liste de tableaux (ou même un Tableau normal ) peuplées?

Je suis tombé sur cette solution
Spring MVC, ajax upload de fichier et MultipartFile qui fait à peu près la même chose que je suis mais, évidemment, je dois être en train de faire quelque chose de mal, puisque cette solution ne fonctionne pas pour moi.

Remarque : j'ai réussi à le faire fonctionner avec un seul téléchargement de fichiers. Mais mon défi aujourd'hui est d'obtenir plusieurs fichiers à la fois.

Toute aide appréciée.

Merci d'avance.

source d'informationauteur azpublic