クラス 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コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明booleancanRead(ResolvableType elementType, MediaType mediaType) 指定されたオブジェクト型がこのリーダーでサポートされているかどうか。intconfiguredの最大メモリ内サイズを取得します。このリーダーでサポートされているメディア型のリストを返します。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) 入力メッセージから読み取り、単一のオブジェクトにデコードします。voidsetBlockingOperationScheduler(reactor.core.scheduler.Scheduler blockingOperationScheduler) ファイルとディレクトリの作成、およびファイルへの書き込みに使用する ReactorSchedulerを設定します。voidsetFileStorageDirectory(PathSE fileStorageDirectory) maxInMemorySizeより大きいパーツを保存するために使用するディレクトリを設定します。voidsetHeadersCharset(CharsetSE headersCharset) ヘッダーのデコードに使用する文字セットを設定します。voidsetMaxDiskUsagePerPart(long maxDiskUsagePerPart) ファイルパーツに許可される最大ディスク容量を設定します。voidsetMaxHeadersSize(int byteCount) 各パーツのヘッダーセクションごとに許可されるメモリの最大量を構成します。voidsetMaxInMemorySize(int maxInMemorySize) パーツごとに許可されるメモリの最大量を構成します。voidsetMaxParts(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- 入力の読み取りおよびデコード方法に関する追加情報- 戻り値:
- 要素のデコードされたストリーム