クラス StandardServletMultipartResolver

java.lang.ObjectSE
org.springframework.web.multipart.support.StandardServletMultipartResolver
実装されたすべてのインターフェース:
MultipartResolver

public class StandardServletMultipartResolver extends ObjectSE implements MultipartResolver
サーブレット PartEE API に基づく MultipartResolver インターフェースの標準実装。"multipartResolver" Bean として Spring DispatcherServlet コンテキストに追加されます。Bean レベルで追加の構成は必要ありません (以下を参照)。

このリゾルバーバリアントは、サーブレットコンテナーのマルチパートパーサーをそのまま使用するため、アプリケーションがコンテナー実装の違いにさらされる可能性があります。また、厳密なサーブレットコンプライアンスについては、このリゾルバーの構成オプションを参照してください。これにより、Spring の MultipartHttpServletRequest の適用範囲がデータのみに限定されます。

注意 : サーブレットコンテナーベースのマルチパート解析を使用するには、影響を受けるサーブレットを web.xml の "multipart-config" セクションでマークするか、プログラムによるサーブレット登録の MultipartConfigElementEE でマークするか、(カスタムサーブレットクラスの場合) おそらくサーブレットクラスの MultipartConfigEE アノテーション。最大サイズや保存場所などの構成設定は、そのサーブレット登録レベルで適用する必要があります。サーブレットコンテナーでは、MultipartResolver レベルで設定することはできません。

 public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
   // ...
   @Override
   protected void customizeRegistration(ServletRegistration.Dynamic registration) {
     // Optionally also set maxFileSize, maxRequestSize, fileSizeThreshold
     registration.setMultipartConfig(new MultipartConfigElement("/tmp"));
   }
 }
導入:
3.1
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    アップロードされたファイルのストレージなど、マルチパート処理に使用されるリソースをすべてクリーンアップします。
    boolean
    指定されたリクエストにマルチパートコンテンツが含まれているかどうかを判断します。
    指定された HTTP リクエストをマルチパートファイルとパラメーターに解析し、リクエストをファイル記述子へのアクセスを提供する MultipartHttpServletRequest オブジェクト内にラップし、標準の ServletRequest メソッドを介して含まれるパラメーターにアクセスできるようにします。
    void
    setResolveLazily(boolean resolveLazily)
    ファイルまたはパラメーターのアクセス時にマルチパートリクエストを遅延解決するかどうかを設定します。
    void
    setStrictServletCompliance(boolean strictServletCompliance)
    このリゾルバーがサーブレット仕様に厳密に準拠する必要があるかどうかを指定し、"multipart/form-data" リクエストに対してのみ開始します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • StandardServletMultipartResolver

      public StandardServletMultipartResolver()
  • メソッドの詳細

    • setResolveLazily

      public void setResolveLazily(boolean resolveLazily)
      ファイルまたはパラメーターのアクセス時にマルチパートリクエストを遅延解決するかどうかを設定します。

      デフォルトは "false" で、マルチパート要素をすぐに解決し、resolveMultipart(jakarta.servlet.http.HttpServletRequest) 呼び出し時に対応する例外をスローします。遅延マルチパート解析の場合はこれを "true" に切り替え、アプリケーションがマルチパートファイルまたはパラメーターを取得しようとすると解析例外をスローします。

      導入:
      3.2.9
    • setStrictServletCompliance

      public void setStrictServletCompliance(boolean strictServletCompliance)
      このリゾルバーがサーブレット仕様に厳密に準拠する必要があるかどうかを指定し、"multipart/form-data" リクエストに対してのみ開始します。

      デフォルトは "false" で、基盤となるサーブレットコンテナーがサポートしている限り、"multipart/" コンテンツ型のリクエストを処理しようとします(Tomcat などで機能しますが Jetty では機能しません)。一貫性のある移植性、特に Spring の MultipartResolver メカニズム外の非フォームマルチパートリクエスト型の一貫したカスタム処理のために、このフラグを "true" に切り替えます。"multipart/form-data" リクエストのみが MultipartHttpServletRequest でラップされます。他の種類のリクエストはそのまま残され、ユーザーコードでのカスタム処理が可能になります。

      導入:
      5.3.9
    • isMultipart

      public boolean isMultipart(HttpServletRequestEE request)
      インターフェースからコピーされた説明: MultipartResolver
      指定されたリクエストにマルチパートコンテンツが含まれているかどうかを判断します。

      通常、コンテンツ型 "multipart/form-data" をチェックしますが、実際に受け入れられるリクエストは、リゾルバー実装の機能によって異なる場合があります。

      次で指定:
      インターフェース MultipartResolverisMultipart 
      パラメーター:
      request - 評価されるサーブレットリクエスト
      戻り値:
      リクエストにマルチパートコンテンツが含まれているかどうか
    • resolveMultipart

      public MultipartHttpServletRequest resolveMultipart(HttpServletRequestEE request) throws MultipartException
      インターフェースからコピーされた説明: MultipartResolver
      指定された HTTP リクエストをマルチパートファイルとパラメーターに解析し、リクエストをファイル記述子へのアクセスを提供する MultipartHttpServletRequest オブジェクト内にラップし、標準の ServletRequest メソッドを介して含まれるパラメーターにアクセスできるようにします。
      次で指定:
      インターフェース MultipartResolverresolveMultipart 
      パラメーター:
      request - ラップするサーブレットリクエスト (マルチパートコンテンツ型である必要があります)
      戻り値:
      ラップされたサーブレットリクエスト
      例外:
      MultipartException - サーブレットリクエストがマルチパートでない場合、または実装固有の問題が発生した場合 (ファイルサイズの制限を超えるなど)
      関連事項:
    • cleanupMultipart

      public void cleanupMultipart(MultipartHttpServletRequest request)
      インターフェースからコピーされた説明: MultipartResolver
      アップロードされたファイルのストレージなど、マルチパート処理に使用されるリソースをすべてクリーンアップします。
      次で指定:
      インターフェース MultipartResolvercleanupMultipart 
      パラメーター:
      request - リソースをクリーンアップするリクエスト