public class MultipartHandler extends java.lang.Object implements HttpRequestHandler
本ハンドラは、サーブレットの入力ストリーム
(ServletRequest.getInputStream()
)から
リクエストのメッセージボディを読み込み、マルチパートの解析を行う。
HTTPリクエストがマルチパートでない場合(Content-Typeがmultipart/form-dataでない場合)、
何もせずに後続のハンドラに処理を委譲する。
解析結果は、HttpRequest
に格納される。
アップロードファイルに関する情報はHttpRequest.getPart(String)
で取得できる。
アップロードファイル以外のパラメータはHTTPリクエストパラメータに格納されるので、通常のように
HttpRequest.getParamMap()
等で取得できる。
マルチパートの解析前はリクエストパラメータにアクセス出来ないため、 リクエストパラメータを扱う以下のハンドラは本ハンドラの後続に配置する必要がある。
実際の解析処理はMultipartParser
に委譲され、マルチパートの解析およびアップロードファイルの一時保存が行われる。
デフォルト設定では、一時ファイルは本ハンドラの処理終了時点(すなわちHTTPリクエストの処理終了時点)で削除される。
アップロードに関する各種設定はUploadSettings
から取得する。
Constructor and Description |
---|
MultipartHandler() |
Modifier and Type | Method and Description |
---|---|
HttpResponse |
handle(HttpRequest request,
ExecutionContext context)
HTTPリクエストに対する処理を実行する。
|
void |
setUploadSettings(UploadSettings settings)
マルチパート用の各種設定値を設定する。
|
public void setUploadSettings(UploadSettings settings)
settings
- 各種設定値public HttpResponse handle(HttpRequest request, ExecutionContext context)
handle
in interface Handler<HttpRequest,HttpResponse>
handle
in interface HttpRequestHandler
request
- HttpRequestWrapper
でなければならない。context
- サーバサイド実行コンテキストオブジェクト