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

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

Feb 22, 2019 pm 01:43 PM
spring mvc

この記事では、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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Spring MVC の主要な概念をマスターする: これらの重要な機能を理解する Spring MVC の主要な概念をマスターする: これらの重要な機能を理解する Dec 29, 2023 am 09:14 AM

SpringMVC の主要な機能を理解する: これらの重要な概念を習得するには、特定のコード例が必要です。 SpringMVC は、開発者が Model-View-Controller (MVC) アーキテクチャ パターンを通じて柔軟でスケーラブルな構造を構築するのに役立つ Java ベースの Web アプリケーション開発フレームワークです。ウェブアプリケーション。 SpringMVC の主要な機能を理解して習得すると、Web アプリケーションをより効率的に開発および管理できるようになります。この記事では、SpringMVC の重要な概念をいくつか紹介します。

Java バックエンド開発: Java Spring MVC を使用した API MVC フレームワーク開発 Java バックエンド開発: Java Spring MVC を使用した API MVC フレームワーク開発 Jun 17, 2023 am 10:27 AM

Java バックエンド開発は、現代のインターネット アプリケーションの中核となる非常に重要なテクノロジです。 Java バックエンド開発には主に APIMVC フレームワーク開発が含まれます。この記事では、APIMVCフレームワーク開発にJavaSpringMVCを使用する方法を紹介します。 JavaSpringMVC は非常に強力なオープンソース フレームワークであり、主に Web アプリケーションの開発に使用されます。 MVC (Model-View-Controller) アーキテクチャ モデルを使用します。

JAX-RS 対 Spring MVC: RESTful 巨人間の戦い JAX-RS 対 Spring MVC: RESTful 巨人間の戦い Feb 29, 2024 pm 05:16 PM

はじめに RESTful API は、最新の WEB アプリケーションに不可欠な部分になっています。これらは、Web サービスを作成および使用するための標準化されたアプローチを提供するため、移植性、拡張性、および使いやすさが向上します。 Java エコシステムでは、JAX-RS と springmvc が、RESTful API を構築するための 2 つの最も人気のあるフレームワークです。この記事では、両方のフレームワークについて詳しく説明し、その機能、利点、欠点を比較して、情報に基づいた決定を下せるようにします。 JAX-RS: JAX-RSAPI JAX-RS (JavaAPI for RESTful Web Services) は、REST 開発のために JavaEE によって開発された標準 JAX-RSAPI です。

Javaにおけるコントローラーパッケージの役割 Javaにおけるコントローラーパッケージの役割 May 07, 2024 am 02:45 AM

Spring MVC アーキテクチャでは、コントローラー パッケージはユーザー リクエストを処理し、応答を返すことによってビジネス ロジックを実装します。その役割には、ユーザー リクエストの受信 (通常は HTTP 経由) が含まれます。リクエストパラメータを検証して処理します。適切なビジネス ロジック (通常はサービス層) を呼び出します。ビューをレンダリングしてユーザーに返します (通常は HTML、JSON、または XML)。

Spring Security 権限制御フレームワークの使用ガイド Spring Security 権限制御フレームワークの使用ガイド Feb 18, 2024 pm 05:00 PM

バックエンド管理システムでは、通常、さまざまなユーザーのインターフェイスへのアクセスを制限するために、アクセス許可制御が必要です。ユーザーに特定の権限がない場合、特定のインターフェイスにアクセスできません。この記事では、waynboot-mall プロジェクトを例として、一般的なバックエンド管理システムがアクセス許可制御フレームワーク SpringSecurity を導入する方法を紹介します。 waynboot-mall プロジェクトアドレス: https://github.com/wayn111/waynboot-mall 1. SpringSecurity とは SpringSecurity は、Spring フレームワークをベースとした、強力かつ柔軟なセキュリティの提供を目的としたオープンソース プロジェクトです。 Java アプリケーションの場合。

Spring WebFlux フレームワークのアーキテクチャと従来の Spring MVC の違いは何ですか? Spring WebFlux フレームワークのアーキテクチャと従来の Spring MVC の違いは何ですか? Apr 17, 2024 pm 02:36 PM

SpringWebFlux と SpringMVC の主な違いは、リアクティブ プログラミング (非同期処理) とブロッキング I/O モデルです。この違いは、非同期処理とイベント ループ モデル、関数インターフェイスに基づくハンドラー、簡素化された例外処理メカニズム、およびスループットの向上につながります。

Go 言語と Java: 機能からアプリケーションまでの比較 Go 言語と Java: 機能からアプリケーションまでの比較 Apr 08, 2024 pm 02:45 PM

Go と Java の主な違いは、型システム、同時実行性、メモリ管理です。 Go は静的型システムを使用し、コンパイル時に型の宣言を強制します。一方、Java は、実行時に型を推論できる半静的型システムを使用します。 Go の Goroutine は高い同時実行性をサポートしますが、Java は Java スレッドとロック メカニズムを使用します。 Go はガベージ コレクターを使用してメモリを自動的に管理しますが、Java では特定のリソースを明示的に管理する必要があります。これらの違いは、さまざまなアプリケーション シナリオにつながります。Go は同時実行性の高い Web サービス、クラウド コンピューティング、ビッグ データに適しており、Java は複雑さと安定性を必要とするエンタープライズ レベルのアプリケーションに適しています。

Java アーキテクチャの開発の歴史: J2EE から SpringBoot まで Java アーキテクチャの開発の歴史: J2EE から SpringBoot まで Feb 02, 2024 pm 04:02 PM

Java アーキテクチャは、エンタープライズ アプリケーション開発で広く使用されているプログラミング言語です。テクノロジーの継続的な進歩と開発ニーズの変化に伴い、Java アーキテクチャも複数の進化と開発を経てきました。この記事では、J2EE から SpringBoot までの Java アーキテクチャの進化と発展について説明します。 J2EE 時代 J2EE (Java2Platform、Enterprise Edition) は、1999 年に開始された Java アーキテクチャにおける重要なマイルストーンです。一連の標準を提供します

See all articles