欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC文件上傳 多文件上傳實(shí)例

 更新時(shí)間:2014年01月18日 15:18:13   作者:  
這篇文章主要介紹了SpringMVC文件上傳 多文件上傳實(shí)例,有需要的朋友可以參考一下

必須明確告訴DispatcherServlet如何處理MultipartRequest。
SpringMVC中提供了文件上傳使用方式如下
配置xxx-servlet.xml,添加如下代碼:

復(fù)制代碼 代碼如下:

<bean id="multipartResolver" 
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
        <!-- 設(shè)置上傳文件的最大尺寸為1MB --> 
    <property name="maxUploadSize"> 
        <value>1048576</value> 
    </property> 
</bean> 

復(fù)制代碼 代碼如下:

<bean id="multipartResolver" 
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
        <!-- 設(shè)置上傳文件的最大尺寸為1MB --> 
    <property name="maxUploadSize"> 
        <value>1048576</value> 
    </property> 
</bean> 

注意這里的文件尺寸實(shí)際上只的是所以文件總大小
如果配置了文件大小就以為這你需要配置異常信息控制
所以需要配置異常顯示

復(fù)制代碼 代碼如下:

<!-- SpringMVC在超出上傳文件限制時(shí),會(huì)拋出org.springframework.web.multipart.MaxUploadSizeExceededException --> 
    <!-- 該異常是SpringMVC在檢查上傳的文件信息時(shí)拋出來(lái)的,而且此時(shí)還沒(méi)有進(jìn)入到Controller方法中 --> 
    <bean id="exceptionResolver" 
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
        <property name="exceptionMappings"> 
            <props> 
                <!-- 遇到MaxUploadSizeExceededException異常時(shí),自動(dòng)跳轉(zhuǎn)到/WEB-INF/jsp/error_fileupload.jsp頁(yè)面 --> 
                <prop 
                    key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop> 
            </props> 
        </property> 
    </bean>

復(fù)制代碼 代碼如下:

<!-- SpringMVC在超出上傳文件限制時(shí),會(huì)拋出org.springframework.web.multipart.MaxUploadSizeExceededException --> 
    <!-- 該異常是SpringMVC在檢查上傳的文件信息時(shí)拋出來(lái)的,而且此時(shí)還沒(méi)有進(jìn)入到Controller方法中 --> 
    <bean id="exceptionResolver" 
        class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> 
        <property name="exceptionMappings"> 
            <props> 
                <!-- 遇到MaxUploadSizeExceededException異常時(shí),自動(dòng)跳轉(zhuǎn)到/WEB-INF/jsp/error_fileupload.jsp頁(yè)面 --> 
                <prop 
                    key="org.springframework.web.multipart.MaxUploadSizeExceededException">error_fileupload</prop> 
            </props> 
        </property> 
    </bean> 

或者偷懶點(diǎn),不設(shè)置大小,則最終默認(rèn)是值為不限制。如果非要控制返回信息,可以考慮在地應(yīng)以的異常處理中返回指定格式數(shù)據(jù),例如JSON

配置完了頁(yè)面上一如既往的需要再form表單中增加:enctype="multipart/form-data"
然后就是需要處理的action了,可以有兩種方式
第一種方式:

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

其中file的名字必須保證與<input type=file>中的那么屬性值保持一致,若果是多文件上傳,則考慮使用

復(fù)制代碼 代碼如下:

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

復(fù)制代碼 代碼如下:

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

單文件可以省略 @RequestParam 多文件則不可省略

第二種方式:

復(fù)制代碼 代碼如下:

public ModelAndView handleRequest(HttpServletRequest request,     
            HttpServletResponse response) throws Exception {     
        // 轉(zhuǎn)型為MultipartHttpRequest:     
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;     
        // 獲得文件:     
        MultipartFile file = multipartRequest.getFile(" file ");    
    }

復(fù)制代碼 代碼如下:

public ModelAndView handleRequest(HttpServletRequest request,    
            HttpServletResponse response) throws Exception {    
        // 轉(zhuǎn)型為MultipartHttpRequest:    
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;    
        // 獲得文件:    
        MultipartFile file = multipartRequest.getFile(" file ");   
    } 

這樣也可以獲取到文件

其實(shí)剛才首先需要配置是加入兩個(gè) jar包:

commons-fileupload-1.2.2.jar
commons-io-2.1.jar

相關(guān)文章

最新評(píng)論