Весенняя многочастная загрузка - PullRequest
1 голос
/ 04 марта 2012

Я пытаюсь написать контроллер и форму, которая может обрабатывать многокомпонентную загрузку файлов и передачу некоторых других данных. Сначала я сделал такую ​​базовую форму:

<form:form method="POST" commandName="myForm">

тогда все в порядке, но, конечно, нет многочастной обработки. Затем я добавляю часть enctype так:

<form:form method="POST" commandName="myForm" enctype="multipart/form-data">

Тогда вся моя форма испорчена, и все атрибуты дают NullPointers. Даже не работает простой атрибут String name. Также я добавил:

<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />

Так что я действительно понятия не имею, в чем проблема. Любой комментарий очень поможет. Спасибо заранее.

1 Ответ

5 голосов
/ 04 марта 2012

Мы используем CommonsMultipartResolver в нашем проекте. Это идет так. В вашем приложенииContext.xml:

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- one of the properties available; the maximum file size in bytes -->
    <property name="maxUploadSize" value="1048576000"/>
    <property name="defaultEncoding" value="UTF-8" />
</bean>

Затем приведите ваш запрос к MultipartHttpServletRequest:

public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
    if (!(req instanceof MultipartHttpServletRequest)) {
        error(resp, "Invalid request (multipart request expected)");
        return null;
    }
Map<String, MultipartFile> files = ((MultipartHttpServletRequest)req).getFileMap();
... do thomething with the files
...