Загрузка нескольких файлов в Spring MVC с возможностью создания нескольких файлов в формате HTML5
Я пытаюсь загрузить несколько файлов, используя Spring 3.1.2 с @Controller и @RequestMapping.
Вот'С тем, что я сделал, и моей конфигурацией.
HTML5 форма:
Контроллер метод:
@RequestMapping(value="/publisher/addFileSystemImage.foo", method=RequestMethod.POST)
public @ResponseBody List addFileSystemImage(@RequestParam("files[]") ArrayList files, String locId, HttpServletRequest request) {
//do lotsa voodoo rocket science here to process the files
}
мой конф:
Отправка формы доходит до метода addFileSystemImage. Данные для аргумента locId находятся здесь, но "файлы» аргумент не связан. Это систематически равно нулю независимо от того, какую комбинацию аргументов / имен полей / типов аргументов я пробовал.
Аргумент HttpServletRequest является org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest, и он содержит атрибут multiPartFile, который фактически содержит данные файла. Глядя на его значение в отладке дает мне
{files[]=[org.springframework.web.multipart.commons.CommonsMultipartFile@16afd7f9, org.springframework.web.multipart.commons.CommonsMultipartFile@728c2811, org.springframework.web.multipart.commons.CommonsMultipartFile@4f9aaed7]}
что означает, что мои файлы [] действительно здесь ... но почему-то они не прошли этап привязки данных должным образом ...
Теперь ... я знаю тебяскажи мне, что я могу получить данные из запроса ... но яЯ предпочел бы, чтобы это работало должным образом ... в стиле Sring ... :) и правильно заполнил мой ArrayList из MultipartFile.
Я что-то пропустил ? Кто-нибудь на самом деле сделал эту работу правильно? Что я могу сделать, чтобы заполнить этот ArrayList (или даже обычный Array)?
Я наткнулся на это решениеSpring MVC с загрузкой файлов ajax и MultipartFile что делает почти то же самое, что и я, но, очевидно, я должен делать что-то не так, поскольку это решение не работает для меня.
Примечание: мне удалось заставить его работать с загрузкой одного файла. Но моя задача сегодня - получить несколько файлов одновременно.
Любая помощь приветствуется.
Заранее спасибо.