SpringMVC 파일 업로드 다중 파일 업로드 인스턴스

Dispatcher Servlet이 MultipartRequest를 처리하는 방법을 명확히 알려야 합니다.SpringMVC에서는 xx-servlet 구성을 위한 파일 업로드 사용법을 제공합니다.xml, 다음 코드를 추가합니다.

<bean id="multipartResolver" 
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
        <!-- 1MB --> 
    <property name="maxUploadSize"> 
        <value>1048576</value> 
    </property> 
</bean> 

<bean id="multipartResolver" 
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
        <!-- 1MB --> 
    <property name="maxUploadSize"> 
        <value>1048576</value> 
    </property> 
</bean> 
이 파일의 크기는 실제로는 파일 총 크기입니다. 파일 크기를 설정하면 이상 정보 제어를 설정해야 한다고 생각하기 때문에 이상 표시를 설정해야 합니다.

<!-- SpringMVC , org.springframework.web.multipart.MaxUploadSizeExceededException --> 
    <!-- SpringMVC , Controller --> 
    <bean id="exceptionResolver" 
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
        <property name="exceptionMappings"> 
            <props> 
                <!-- MaxUploadSizeExceededException , /WEB-INF/jsp/error_fileupload.jsp --> 
                <prop 
                    key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop> 
            </props> 
        </property> 
    </bean>

<!-- SpringMVC , org.springframework.web.multipart.MaxUploadSizeExceededException --> 
    <!-- SpringMVC , Controller --> 
    <bean id="exceptionResolver" 
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
        <property name="exceptionMappings"> 
            <props> 
                <!-- MaxUploadSizeExceededException , /WEB-INF/jsp/error_fileupload.jsp --> 
                <prop 
                    key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop> 
            </props> 
        </property> 
    </bean> 
또는 게으름을 피우거나 크기를 설정하지 않으면 최종 기본값은 무제한입니다.반환 정보를 굳이 제어하려면 지정한 형식의 데이터를 되돌려야 하는 이상 처리에서 고려할 수 있습니다. 예를 들어 JSON 설정이 끝난 페이지에서 예전과 같이 form 폼에 추가해야 하는 경우:enctype='multipart/form-data'그리고 처리해야 하는 action입니다. 두 가지 방식이 있습니다

public String login( @RequestParam MultipartFile file, Model model) {  
………………  


public String login( @RequestParam MultipartFile file, Model model) { 
……………… 

그 중에서 파일의 이름은 의 속성 값과 일치해야 합니다. 만약 여러 파일이 업로드된다면 사용을 고려해야 합니다.

public String login(@Valid UserInfo userInfo, BindingResult result, @RequestParam MultipartFile[] files, Model model) {  
………………  


public String login(@Valid UserInfo userInfo, BindingResult result, @RequestParam MultipartFile[] files, Model model) { 
……………… 

단일 파일은 @RequestParam 다중 파일을 생략할 수 있지만 두 번째 방식은 생략할 수 없습니다

public ModelAndView handleRequest(HttpServletRequest request,     
            HttpServletResponse response) throws Exception {     
        // MultipartHttpRequest:     
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;     
        // :     
        MultipartFile file = multipartRequest.getFile(" file ");    
    }

public ModelAndView handleRequest(HttpServletRequest request,    
            HttpServletResponse response) throws Exception {    
        // MultipartHttpRequest:    
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;    
        // :    
        MultipartFile file = multipartRequest.getFile(" file ");   
    } 
이렇게 하면 파일을 얻을 수 있습니다. 사실 아까 설정해야 할 것은 두 개의jar 패키지를 추가하는 것입니다commons-fileupload-1.2.2.jarcommons-io-2.1.jar

좋은 웹페이지 즐겨찾기