この記事では、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。
<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>
<bean id="multipartResolver" class="org.springframework.web.multipart.support.StandardServletMultipartResolver”>
@Bean(name = "multipartResolver") public StandardServletMultipartResolver getStandardServletMultipartResolver(){ return new StandardServletMultipartResolver(); }
<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>
以上がSpring MVC の Multipart/form-data 処理方法の紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。