クラス StandardServletMultipartResolver
- 実装されたすべてのインターフェース:
MultipartResolver
Part
EE API に基づく MultipartResolver
インターフェースの標準実装。Bean レベルでの追加構成なしで、Spring DispatcherServlet コンテキストに "multipartResolver" Bean として追加されます (以下を参照)。 このリゾルバーバリアントは、サーブレットコンテナーのマルチパートパーサーをそのまま使用するため、アプリケーションがコンテナー実装の違いにさらされる可能性があります。また、厳密なサーブレットコンプライアンスについては、このリゾルバーの構成オプションを参照してください。これにより、Spring の MultipartHttpServletRequest
の適用範囲がデータのみに限定されます。
注意 : サーブレットコンテナーベースのマルチパート解析を使用するには、影響を受けるサーブレットを web.xml
の "multipart-config" セクションでマークするか、プログラムによるサーブレット登録の MultipartConfigElement
EE でマークするか、(カスタムサーブレットクラスの場合) おそらくサーブレットクラスの MultipartConfig
EE アノテーション。最大サイズや保存場所などの構成設定は、そのサーブレット登録レベルで適用する必要があります。サーブレットコンテナーでは、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
isMultipart
(HttpServletRequestEE request) 指定されたリクエストにマルチパートコンテンツが含まれているかどうかを判断します。resolveMultipart
(HttpServletRequestEE request) 指定された HTTP リクエストをマルチパートファイルとパラメーターに解析し、リクエストをファイル記述子へのアクセスを提供するMultipartHttpServletRequest
オブジェクト内にラップし、標準の ServletRequest メソッドを介して含まれるパラメーターにアクセスできるようにします。void
setResolveLazily
(boolean resolveLazily) ファイルまたはパラメーターのアクセス時にマルチパートリクエストを遅延解決するかどうかを設定します。void
setStrictServletCompliance
(boolean strictServletCompliance) このリゾルバーがサーブレット仕様に厳密に準拠する必要があるかどうかを指定し、"multipart/form-data" リクエストに対してのみ開始します。
コンストラクターの詳細
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
インターフェースからコピーされた説明:MultipartResolver
指定されたリクエストにマルチパートコンテンツが含まれているかどうかを判断します。通常、コンテンツ型 "multipart/form-data" をチェックしますが、実際に受け入れられるリクエストは、リゾルバー実装の機能によって異なる場合があります。
- 次で指定:
- インターフェース
MultipartResolver
のisMultipart
- パラメーター:
request
- 評価されるサーブレットリクエスト- 戻り値:
- リクエストにマルチパートコンテンツが含まれているかどうか
resolveMultipart
public MultipartHttpServletRequest resolveMultipart(HttpServletRequestEE request) throws MultipartException インターフェースからコピーされた説明:MultipartResolver
指定された HTTP リクエストをマルチパートファイルとパラメーターに解析し、リクエストをファイル記述子へのアクセスを提供するMultipartHttpServletRequest
オブジェクト内にラップし、標準の ServletRequest メソッドを介して含まれるパラメーターにアクセスできるようにします。- 次で指定:
- インターフェース
MultipartResolver
のresolveMultipart
- パラメーター:
request
- ラップするサーブレットリクエスト (マルチパートコンテンツ型である必要があります)- 戻り値:
- ラップされたサーブレットリクエスト
- 例外:
MultipartException
- サーブレットリクエストがマルチパートでない場合、または実装固有の問題が発生した場合 (ファイルサイズの制限を超えるなど)- 関連事項:
cleanupMultipart
インターフェースからコピーされた説明:MultipartResolver
アップロードされたファイルのストレージなど、マルチパート処理に使用されるリソースをすべてクリーンアップします。- 次で指定:
- インターフェース
MultipartResolver
のcleanupMultipart
- パラメーター:
request
- リソースをクリーンアップするリクエスト