中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring MVC如何處理Multipart/form-data

發布時間:2020-10-28 13:39:13 來源:億速云 閱讀:149 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關Spring MVC如何處理Multipart/form-data的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

Multipart/form-data

Multipart/form-data 為表單的MIME編碼屬性之一,共有三個值

① application/x-www-form-urlencoded

② multipart/form-data

③ text/plain

①為Html表單默認傳輸編碼類型

②是表單上傳的非文本的內容,傳遞的是文件數據,設置該屬性再配合post請求方式從而實現文件上傳

③是傳輸為純文本的意思,在發郵件時要設置這種編碼,拿text/plain和text/html做比較,前者用來傳輸純文本文件,后者則是傳遞html代碼的編碼類型,在發送頭文件時才用得上

上述所提到的MIME,它的英文全稱是"Multipurpose Internet Mail Extensions" 多功能Internet 郵件擴充服務,它是一種多用途網際郵件擴充協議。通過MIME,瀏覽器的再請求,會告訴服務器接收的數據是什么類型.

Spring MVC 處理 Multipart/form-data

兩種實現方式:

1、CommonsMultipartResolver  :  依賴于Apache

2、StandardServletMultipartResolver  :  依賴于Servlet 3.0 ,SpringBoot默認支持該方式

一、配置解析器

1、CommonsMultipartResolver 的配置

弊端:無法設置請求整體的最大容量

(1)聲明Bean和配置上傳參數:

<bean id="multipartResolver" 
   class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="uploadTempDir" value="/temp"/>    <!--設置上傳目錄/temp -->
        <property name="maxUploadSize" value="2097152"/>   <!--最大文件容量設置為2M-->
        <property name="maxInMemorySize" value="0"/>    · <!--最大的內存大小設置為0,超過0就寫入磁盤-->     
</bean>

2、StandardServletMultipartResolver 的配置   

(1)聲明Bean:

<bean id="multipartResolver" 
class="org.springframework.web.multipart.support.StandardServletMultipartResolver”>
@Bean(name = "multipartResolver")
public StandardServletMultipartResolver getStandardServletMultipartResolver(){
          return new StandardServletMultipartResolver();
          }

(2) 配置上傳參數

web.xml 配置

<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    <multipart-config>
        <!--上傳到/temp 目錄-->
      <location>/temp/upload</location>
        <!--文件大小為2M-->
      <max-file-size>2097152</max-file-size>
        <!--整個請求不超過4M-->
      <max-request-size>4194304</max-request-size>
        <!--大于0M的所有文件都要寫入磁盤-->
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

配置類中配置

<form action="/save" method="post" enctype="multipart/form-data">
          <input type="file" name="pic">
          <input type="submit">
</form> 

二、Spring MVC 處理

1、表單:

  <form action="/save" method="post" enctype="multipart/form-data">
          <input type="file" name="pic">
          <input type="submit">
   </form>

2、MVC接收:

@RequestMapping(value = "/save",method = RequestMethod.POST)
    public String getHome(MultipartFile pic) throws IOException {
        Files.copy(pic.getInputStream(), Paths.get(ServletContext.getRealPath("/temp"),pic.getOriginalFilename));
        return null;
    }  

感謝各位的閱讀!關于Spring MVC如何處理Multipart/form-data就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳谷县| 光泽县| 安仁县| 雷山县| 崇左市| 宝应县| 潞城市| 大关县| 天长市| 湾仔区| 望江县| 祥云县| 哈密市| 安达市| 南汇区| 大邑县| 兴山县| 元阳县| 兴文县| 陆川县| 平南县| 确山县| 洪泽县| 尚志市| 图片| 平谷区| 通山县| 高青县| 务川| 土默特右旗| 宁国市| 新邵县| 清水河县| 调兵山市| 即墨市| 安仁县| 尉犁县| 松原市| 张家川| 芦山县| 延寿县|