Wiosenne przesyłanie wielu plików MVC z funkcją tworzenia wielu plików HTML5

Usiłuję przesłać wiele plików za pomocą wiosny 3.1.2 z @Controller i @RequestMapping.

Oto co zrobiłem i moja konfiguracja.

Formularz HTML5:

<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>

Metoda kontrolera:

@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  

}

mój 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>

Przesłanie formularza powoduje przejście do metody addFileSystemImage. Dane dla argumentu locId znajdują się tutaj, ale argument „files” nie jest powiązany. Jest systematycznie zerowy bez względu na kombinację argumentów / nazw pól / typów argumentów, które próbowałem.

Argument HttpServletRequest jest org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest i zawiera atrybut multiPartFile, który faktycznie przechowuje dane pliku. Patrzenie na jego wartość w debugowaniu daje mi

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

co oznacza, że ​​moje pliki [] rzeczywiście są tutaj ... ale jakoś nie przekazały poprawnie kroku powiązania danych ...

Teraz ... Wiem, że powiesz mi, że mogę odzyskać dane z prośby ... ale wolałbym, żeby to działało poprawnie ... sposób Sringa ... :) i mieć poprawnie moją ArrayList z MultipartFile zaludniony.

Czy czegoś mi brakuje? Czy ktoś rzeczywiście to sprawił? Co mogę zrobić, aby wypełnić tę tablicę ArrayList (lub nawet zwykłą tablicę)?

Przyszedłem przez to rozwiązanieSpring MVC z przesyłaniem plików ajax i MultipartFile co robi prawie to samo co ja, ale oczywiście muszę robić coś złego, ponieważ to rozwiązanie nie działa dla mnie.

Uwaga: udało mi się go uruchomić przy ładowaniu pojedynczego pliku. Ale moim dzisiejszym wyzwaniem jest uzyskanie wielu plików jednocześnie.

Każda pomoc doceniana.

Z góry dziękuję.

questionAnswers(2)

yourAnswerToTheQuestion