SpringMVC框架遇到的一個問題

抱歉,標題上我就欺騙了大家,這個問題並不是僅限於springmvc框架,因爲,這個問題與框架本身沒有任何關係...只是是在搭建springmvc框架,並調試的時候發現的,所以借用了這個很牛逼的靠山來作爲背景。
本篇博客主要介紹一種模擬請求的調試工具--**postman**出現的一個問題。

這裏寫圖片描述

如上圖,當使用postman進行post請求測試的時候,選擇form-data,發送請求,可以看到,request headers參數Content-Type爲multipart/form-data,通常情況下,上傳文件時我們通常會這麼設置。這就意味着,在Controller裏面要想獲取到這裏傳過去的參數,則需要支持這種模式,通俗的做法就是在spring的配置文件裏配置文件上傳的解析器,如下:
<bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="defaultEncoding" value="UTF-8" />
        <!-- 指定所上傳文件的總大小不能超過50M。注意maxUploadSize屬性的限制不是針對單個文件,而是所有文件的容量之和 -->
        <property name="maxUploadSize" value="52428800" />
    </bean>

maven下需要引入commons-fileupload的依賴:

    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.3.1</version>
    </dependency>

配置完如上配置後,Controller裏便可以正常接收參數,否則會一直爲null(HttpRequestServlet裏面壓根就沒有處理這種Content-Type類型傳過來的參數)。
這裏寫圖片描述
如上,當我們選擇x-www-form-urlencoded的時候則是正常的,因爲,此時請求頭參數Content-Type爲application/x-www-form-urlencoded。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章