マルチパートリゾルバー
org.springframework.web.multipart パッケージの MultipartResolver は、ファイルのアップロードを含むマルチパートリクエストを解析するための戦略です。サーブレットのマルチパートリクエスト解析には、コンテナーベースの StandardServletMultipartResolver 実装があります。
マルチパート処理を有効にするには、DispatcherServlet Spring 構成で multipartResolver という名前で MultipartResolver Bean を宣言する必要があります。DispatcherServlet はそれを検出し、受信リクエストに適用します。コンテンツ型が multipart/form-data の POST を受信すると、リゾルバーはコンテンツを解析し、現在の HttpServletRequest を MultipartHttpServletRequest としてラップして、リクエストパラメーターとしてパーツを公開するだけでなく、解決されたファイルへのアクセスを提供します。
サーブレットマルチパート解析
サーブレットのマルチパート解析は、サーブレットコンテナーの構成を通じて有効にする必要があります。そうするには:
Java では、サーブレット登録で
MultipartConfigElementを設定します。web.xmlで、サーブレット宣言に"<multipart-config>"セクションを追加します。
次の例は、サーブレット登録で MultipartConfigElement を設定する方法を示しています。
Java
Kotlin
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
// ...
@Override
protected void customizeRegistration(ServletRegistration.Dynamic registration) {
// Optionally also set maxFileSize, maxRequestSize, fileSizeThreshold
registration.setMultipartConfig(new MultipartConfigElement("/tmp"));
}
}class AppInitializer : AbstractAnnotationConfigDispatcherServletInitializer() {
// ...
override fun customizeRegistration(registration: ServletRegistration.Dynamic) {
// Optionally also set maxFileSize, maxRequestSize, fileSizeThreshold
registration.setMultipartConfig(MultipartConfigElement("/tmp"))
}
} サーブレットのマルチパート構成が整ったら、multipartResolver という名前の StandardServletMultipartResolver 型の Bean を追加できます。
このリゾルバーバリアントは、サーブレットコンテナーのマルチパートパーサーをそのまま使用し、アプリケーションをコンテナー実装の違いにさらす可能性があります。デフォルトでは、任意の HTTP メソッドを使用して任意の |