SpringMVC文件上传和文件过大处理

前提:上传文件过程中需要在XML中加入以下配置

<!-- SpringMVCMultipartResolver -->  
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
        <property name="defaultEncoding" value="UTF-8"/>  
        <!-- 200KBmaxUploadSize -->  
        <property name="maxUploadSize" value="20000"/>  
    </bean>  
    <!-- 这种是跳转页面方式的错误提示,还有另一种自定义处理方式-->
    <!-- SpringMVCorg.springframework.web.multipart.MaxUploadSizeExceededException -->  
    <!-- SpringMVCController -->  
    <bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">  
        <property name="exceptionMappings">  
            <props>  
                <!-- MaxUploadSizeExceededExceptionerror.jsp -->  
                <prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">error</prop>  
            </props>  
        </property>  
        <!-- 
        <property name="statusCodes">
            <props>
                <prop key=""></prop>
            </props>
        </property> 
        -->
    </bean> 
方式一:MultipartFile
   
 /**
     * @RequestParam(value="myfiles") 这里必须使用RequestParam绑定才能获取文件
     * @param file
     */
    @RequestMapping(value="/upload.do")
    public void upload1(@RequestParam(value="myfiles") MultipartFile[] file){
        for(MultipartFile mf :file){
            //mf.getBytes();
            //mf.getInputStream();
            System.out.println(mf.getOriginalFilename() +" "+mf.getContentType());
        }
    }
方式二:MultipartHttpServletRequest























/**
     * 转型为MultipartHttpRequest
     * @param request
     */
    @RequestMapping(value="/upload2.do")
    public void upload2(HttpServletRequest request){
        // 转型为MultipartHttpRequest   
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;     
        // 获得文件   multipartRequest.getFile("");
        List<MultipartFile> fileList = multipartRequest.getFiles("myfiles");
        for(MultipartFile mf : fileList){
            
        }
    }

注:需要用到两个依赖包,commons-fileupload-1.2.2.jar     commons-io-2.1.jar。文件上传过大的错误提示,上述配置文件是跳转页面方式,如果采用的是ajax方式上传,需要使用另一种异常处理。详情 见这篇文章http://blog.youkuaiyun.com/lwphk/article/details/39500569


















































 
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值