国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

SpringMVC文件上傳 多文件上傳實例

2019-11-26 15:45:55
字體:
來源:轉載
供稿:網友

必須明確告訴DispatcherServlet如何處理MultipartRequest。
SpringMVC中提供了文件上傳使用方式如下
配置xxx-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) { 
……………… 

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

復制代碼 代碼如下:

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.jar
commons-io-2.1.jar

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凤山市| 道真| 册亨县| 定结县| 定南县| 达拉特旗| 余干县| 莎车县| 永春县| 铅山县| 太康县| 遵义市| 高清| 绥芬河市| 黄石市| 静海县| 舟曲县| 浦北县| 郓城县| 南京市| 张掖市| 临泽县| 深泽县| 武义县| 平罗县| 历史| 汾阳市| 竹溪县| 陇西县| 孙吴县| 湖南省| 景德镇市| 安陆市| 二连浩特市| 凤冈县| 新巴尔虎右旗| 五寨县| 定远县| 华容县| 茂名市| 林州市|