ホームページ > Java > &#&チュートリアル > Spring MVC の Multipart/form-data 処理方法の紹介 (コード例)

Spring MVC の Multipart/form-data 処理方法の紹介 (コード例)

不言
リリース: 2019-02-22 13:43:24
転載
6853 人が閲覧しました

この記事では、Spring MVC の Multipart/form-data の処理方法 (コード例) を紹介します。必要な方は参考にしてください。

#Multipart/form-data

Multipart/form-data はフォームの MIME エンコード属性の 1 つで、合計 3 つの値があります

① application/ x-www-form-urlencoded

② multipart/form-data

③ text/plain

①Html フォームのデフォルトの送信エンコーディング タイプ

② フォームによってアップロードされる非テキストコンテンツであり、渡されるのはファイルデータです。この属性を設定し、投稿リクエストメソッドと連携してファイルアップロードを実現します。これはメールを送信するときに設定する必要があります。 text/plain と text/html を比較してください。前者はテキスト ファイルを送信する場合に使用され、後者は HTML コードを送信する場合にのみ使用されます。ヘッダー ファイルを送信します。

上記の MIME は、正式な英語名は "MultiPurpose Internet Mail Extensions" MultiPurpose Internet Mail Extensions サービスで、多目的の Internet Mail Extensions プロトコルです。 MIME を通じて、ブラウザーの再リクエストはサーバーに受信するデータのタイプを伝えます。

Spring MVC は Multipart/form-data を処理します

2 つの実装方法:

1. CommonsMultipartResolver: Apache に依存します

2. StandardServletMultipartResolver: Servlet 3.0 に依存します。SpringBoot はデフォルトでこのメソッドをサポートします
#1。

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> 
ログイン後にコピー

2. Spring MVC 処理

1. 形式:

  <form action="/save" method="post" enctype="multipart/form-data">
          <input type="file" name="pic">
          <input type="submit">
   </form>
ログイン後にコピー
2.

以上がSpring MVC の Multipart/form-data 処理方法の紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート