ホームページ  >  記事  >  Java  >  Spring MVC の Multipart/form-data 処理方法の紹介 (コード例)

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

不言
不言転載
2019-02-22 13:43:246816ブラウズ

この記事では、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 構成

46309ed845064fdb06e746051efff9e0
    700b5f17c4d842e4bd410f680f40946bdispatcherServlet72eca723e64ddd01187c8b4d58572fcb
    b472d9135dbff3dd7fcc77f5995c97d0org.springframework.web.servlet.DispatcherServlet4f01b97d64aea37f699ead4eb7bd2bbd
    380fae52cc7d04565d26dd4bbf4b5460
        c13d9669d2c8f87a36a39c8f95f41552contextConfigLocation02b9ad8b27bc78bd91c18db845cdde4a
        f226acac8cb0e4a9d59fcba58b57a899classpath:applicationContext.xml22c8aeb51b7638a9da01bd5a66154ac1
    8f161518881ffd7712eaaadc573a3556
    4781e2cbaa93c386271b418d3a01af0813065abc64b27fbca30c0905ab93e8ea0
    d589bc550fddbf4e1467769008c79743
        9b8d0b7dec66249828adf6eecce57e56
      9d68f4d645dd62cd4e002580b75a8b85/temp/uploadeb393cd7f0c41cf1136847ec1779eae4
        54275ace0e53d1f05148c4d2fb4d0f8e
      264118c81acaa0ed957102901d0217092097152ccfecdf06d7a6c119cfa2f6998f9193e
        a985a73358dc1c27afd267b67e0895bb
      d8826ad457eb4d4bfe6313ea1e725b6d4194304b5b1d78b07ce9edb1c40391f708a85d6
        03810b98d7aeeaebe728da27093c7397
      cfba4a0d5e51fea799b9e49d4b3e2e86043463aa0839dd2d81701d30ccbcc8b17
    bd01001af9e9d0ca8b1d333acf597655
  20d42bb762ac7d7e594da3a264e47fcc
  870ae7edaa11700bcea972d006efb06e
    700b5f17c4d842e4bd410f680f40946bdispatcherServlet72eca723e64ddd01187c8b4d58572fcb
    66e1775cbd9d5002635ae3285442ba88/3ec4a5583206d351b61ed79c1a0f9c66
  cb808b0e21d3ee32c89fe10adc3f12ec
構成クラスの構成

<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 までご連絡ください。