クラス DefaultPartHttpMessageReader
java.lang.ObjectSE
org.springframework.http.codec.LoggingCodecSupport
org.springframework.http.codec.multipart.DefaultPartHttpMessageReader
- 実装されたすべてのインターフェース:
HttpMessageReader<Part>
public class DefaultPartHttpMessageReader
extends LoggingCodecSupport
implements HttpMessageReader<Part>
Part
のストリームへの "multipart/form-data"
リクエストを解析するためのデフォルトの HttpMessageReader
。 デフォルトの非ストリーミングモードでは、このメッセージリーダーは maxInMemorySize
より小さい部分の内容をメモリに保存し、それより大きい部分の内容を fileStorageDirectory
の一時ファイルに保存します。
このリーダーは、すべてのパーツをマップに集約するために MultipartHttpMessageReader
に提供できます。
- 導入:
- 5.3
- 作成者:
- Arjen Poutsma
フィールドサマリー
クラス org.springframework.http.codec.LoggingCodecSupport から継承されたフィールド
logger
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明boolean
canRead
(ResolvableType elementType, MediaType mediaType) 指定されたオブジェクト型がこのリーダーでサポートされているかどうか。int
configured
の最大メモリ内サイズを取得します。このリーダーでサポートされているメディア型のリストを返します。reactor.core.publisher.Flux<Part>
read
(ResolvableType elementType, ReactiveHttpInputMessage message, MapSE<StringSE, ObjectSE> hints) 入力メッセージから読み取り、オブジェクトのストリームにデコードします。reactor.core.publisher.Mono<Part>
readMono
(ResolvableType elementType, ReactiveHttpInputMessage message, MapSE<StringSE, ObjectSE> hints) 入力メッセージから読み取り、単一のオブジェクトにデコードします。void
setBlockingOperationScheduler
(reactor.core.scheduler.Scheduler blockingOperationScheduler) ファイルとディレクトリの作成、およびファイルへの書き込みに使用する ReactorScheduler
を設定します。void
setFileStorageDirectory
(PathSE fileStorageDirectory) maxInMemorySize
より大きいパーツを保存するために使用するディレクトリを設定します。void
setHeadersCharset
(CharsetSE headersCharset) ヘッダーのデコードに使用する文字セットを設定します。void
setMaxDiskUsagePerPart
(long maxDiskUsagePerPart) ファイルパーツに許可される最大ディスク容量を設定します。void
setMaxHeadersSize
(int byteCount) 各パーツのヘッダーセクションごとに許可されるメモリの最大量を構成します。void
setMaxInMemorySize
(int maxInMemorySize) パーツごとに許可されるメモリの最大量を構成します。void
setMaxParts
(int maxParts) 特定のマルチパートリクエストで許可されるパーツの最大数を指定します。クラス org.springframework.http.codec.LoggingCodecSupport から継承されたメソッド
isEnableLoggingRequestDetails, setEnableLoggingRequestDetails
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.http.codec.HttpMessageReader から継承されたメソッド
getReadableMediaTypes, read, readMono
コンストラクターの詳細
DefaultPartHttpMessageReader
public DefaultPartHttpMessageReader()
メソッドの詳細
setMaxHeadersSize
public void setMaxHeadersSize(int byteCount) 各パーツのヘッダーセクションごとに許可されるメモリの最大量を構成します。限界のとき- パラメーター:
byteCount
- ヘッダーの最大メモリ量
getMaxInMemorySize
public int getMaxInMemorySize()configured
の最大メモリ内サイズを取得します。setMaxInMemorySize
public void setMaxInMemorySize(int maxInMemorySize) パーツごとに許可されるメモリの最大量を構成します。制限を超えた場合:- ファイル部分は一時ファイルに書き込まれます。
- 非ファイル部分は
DataBufferLimitException
で拒否されます。
デフォルトでは、これは 256K に設定されています。
- パラメーター:
maxInMemorySize
- バイト単位のメモリ内制限。-1 に設定すると、コンテンツ全体がメモリに保存されます
setMaxDiskUsagePerPart
public void setMaxDiskUsagePerPart(long maxDiskUsagePerPart) ファイルパーツに許可される最大ディスク容量を設定します。デフォルトでは、これは -1 に設定されています。これは、最大値がないことを意味します。
maxInMemorySize
が -1 に設定されている場合、このプロパティは無視されることに注意してください。setMaxParts
public void setMaxParts(int maxParts) 特定のマルチパートリクエストで許可されるパーツの最大数を指定します。デフォルトでは、これは -1 に設定されています。これは、最大値がないことを意味します。
setFileStorageDirectory
maxInMemorySize
より大きいパーツを保存するために使用するディレクトリを設定します。デフォルトでは、spring-webflux-multipart
という名前のディレクトリがシステム一時ディレクトリに作成されます。maxInMemorySize
が -1 に設定されている場合、このプロパティは無視されることに注意してください。- 例外:
IOExceptionSE
- I/O エラーが発生した場合、または親ディレクトリが存在しない場合
setBlockingOperationScheduler
public void setBlockingOperationScheduler(reactor.core.scheduler.Scheduler blockingOperationScheduler) ファイルとディレクトリの作成、およびファイルへの書き込みに使用する ReactorScheduler
を設定します。デフォルトではSchedulers.boundedElastic()
が使用されますが、このプロパティを使用すると、外部で管理されるスケジューラに変更できます。maxInMemorySize
が -1 に設定されている場合、このプロパティは無視されることに注意してください。- 関連事項:
Schedulers.boundedElastic()
setHeadersCharset
ヘッダーのデコードに使用する文字セットを設定します。RFC 7578 に従い、デフォルトは UTF-8 です。- パラメーター:
headersCharset
- ヘッダーのデコードに使用する文字セット- 導入:
- 5.3.6
- 関連事項:
getReadableMediaTypes
インターフェースからコピーされた説明:HttpMessageReader
このリーダーでサポートされているメディア型のリストを返します。このリストは、考えられるすべてのターゲット要素型に適用されるとは限らないため、このメソッドの呼び出しは通常、canWrite(elementType, null)
を介して保護する必要があります。このリストでは、特定の要素型でのみサポートされているメディア型を除外することもできます。または、HttpMessageReader.getReadableMediaTypes(ResolvableType)
を使用してより正確なリストを作成します。- 次で指定:
- インターフェース
HttpMessageReader<Part>
のgetReadableMediaTypes
- 戻り値:
- サポートされているメディア型の一般的なリスト
canRead
インターフェースからコピーされた説明:HttpMessageReader
指定されたオブジェクト型がこのリーダーでサポートされているかどうか。- 次で指定:
- インターフェース
HttpMessageReader<Part>
のcanRead
- パラメーター:
elementType
- チェックするオブジェクトの型mediaType
- 読み取り用のメディア型 (おそらくnull
)- 戻り値:
- 読み取り可能な場合は
true
、そうでない場合はfalse
readMono
public reactor.core.publisher.Mono<Part> readMono(ResolvableType elementType, ReactiveHttpInputMessage message, MapSE<StringSE, ObjectSE> hints) インターフェースからコピーされた説明:HttpMessageReader
入力メッセージから読み取り、単一のオブジェクトにデコードします。- 次で指定:
- インターフェース
HttpMessageReader<Part>
のreadMono
- パラメーター:
elementType
-HttpMessageReader.canRead(ResolvableType, MediaType)
を介して事前にチェックされている必要があるストリーム内のオブジェクトの型message
- 読み取るメッセージhints
- 入力の読み取りおよびデコード方法に関する追加情報- 戻り値:
- デコードされたオブジェクト
read
public reactor.core.publisher.Flux<Part> read(ResolvableType elementType, ReactiveHttpInputMessage message, MapSE<StringSE, ObjectSE> hints) インターフェースからコピーされた説明:HttpMessageReader
入力メッセージから読み取り、オブジェクトのストリームにデコードします。- 次で指定:
- インターフェース
HttpMessageReader<Part>
のread
- パラメーター:
elementType
-HttpMessageReader.canRead(ResolvableType, MediaType)
を介して事前にチェックされている必要があるストリーム内のオブジェクトの型message
- 読み取るメッセージhints
- 入力の読み取りおよびデコード方法に関する追加情報- 戻り値:
- 要素のデコードされたストリーム