public abstract class CommonsFileUploadSupport extends ObjectSE
アップロードされたファイルの表現として Spring CommonsMultipartFile インスタンスのマップを使用し、アップロードされたフォームフィールドの表現として文字列ベースのパラメーターマップを使用して、マルチパートリクエストに共通の構成プロパティと解析機能を提供します。
CommonsMultipartFile
, CommonsMultipartResolver
修飾子と型 | クラスと説明 |
---|---|
protected static class | CommonsFileUploadSupport.MultipartParsingResult Spring MultipartFiles のマップとマルチパートパラメーターのマップのホルダー。 |
コンストラクターと説明 |
---|
CommonsFileUploadSupport() 新しい CommonsFileUploadSupport を、対応する FileItemFactory および FileUpload インスタンスでインスタンス化します。 |
修飾子と型 | メソッドと説明 |
---|---|
protected void | cleanupFileItems(MultiValueMap<StringSE, MultipartFile> multipartFiles) マルチパート解析中に作成された Spring MultipartFiles をクリーンアップします。ディスク上の一時データを潜在的に保持します。 |
protected CommonsMultipartFile | createMultipartFile(org.apache.commons.fileupload.FileItem fileItem) 指定された Commons FileItem の CommonsMultipartFile ラッパーを作成します。 |
protected StringSE | getDefaultEncoding() リクエストの解析に使用するデフォルトのエンコーディングを決定します。 |
org.apache.commons.fileupload.disk.DiskFileItemFactory | getFileItemFactory() 基になる org.apache.commons.fileupload.disk.DiskFileItemFactory インスタンスを返します。 |
org.apache.commons.fileupload.FileUpload | getFileUpload() 基になる org.apache.commons.fileupload.FileUpload インスタンスを返します。 |
protected boolean | isUploadTempDirSpecified() アップロードされたファイルが保存される一時ディレクトリを返します。 |
protected org.apache.commons.fileupload.disk.DiskFileItemFactory | newFileItemFactory() Commons DiskFileItemFactory インスタンスのファクトリメソッド。 |
protected abstract org.apache.commons.fileupload.FileUpload | newFileUpload(org.apache.commons.fileupload.FileItemFactory fileItemFactory) Commons FileUpload インスタンスのファクトリメソッド。 |
protected CommonsFileUploadSupport.MultipartParsingResult | parseFileItems(ListSE<org.apache.commons.fileupload.FileItem> fileItems, StringSE encoding) 与えられた Commons FileItems のリストを、Spring MultipartFile インスタンスとマルチパートパラメーターのマップを含む Spring MultipartParsingResult に解析します。 |
protected org.apache.commons.fileupload.FileUpload | prepareFileUpload(StringSE encoding) 指定されたエンコーディングに適切な FileUpload インスタンスを決定します。 |
void | setDefaultEncoding(StringSE defaultEncoding) リクエストの解析、個々のパーツのヘッダー、フォームフィールドへの適用に使用するデフォルトの文字エンコーディングを設定します。 |
void | setMaxInMemorySize(int maxInMemorySize) アップロードがディスクに書き込まれる前の最大許容サイズ(バイト単位)を設定します。 |
void | setMaxUploadSize(long maxUploadSize) アップロードが拒否されるまでの最大許容サイズ(バイト単位)を設定します。 |
void | setMaxUploadSizePerFile(long maxUploadSizePerFile) アップロードが拒否される前に、各ファイルの最大許容サイズ(バイト単位)を設定します。 |
void | setPreserveFilename(boolean preserveFilename) CommonsMultipartFile.getOriginalFilename() のパス情報を削除せずに、クライアントから送信されたファイル名を保存するかどうかを設定します。 |
void | setUploadTempDir(Resource uploadTempDir) アップロードされたファイルが保存される一時ディレクトリを設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
protected final Log logger
public CommonsFileUploadSupport()
public org.apache.commons.fileupload.disk.DiskFileItemFactory getFileItemFactory()
org.apache.commons.fileupload.disk.DiskFileItemFactory
インスタンスを返します。これにアクセスする必要はほとんどありません。public org.apache.commons.fileupload.FileUpload getFileUpload()
org.apache.commons.fileupload.FileUpload
インスタンスを返します。これにアクセスする必要はほとんどありません。public void setMaxUploadSize(long maxUploadSize)
maxUploadSize
- 許可される最大アップロードサイズ FileUploadBase.setSizeMax(long)
public void setMaxUploadSizePerFile(long maxUploadSizePerFile)
maxUploadSizePerFile
- ファイルごとの最大アップロードサイズ FileUploadBase.setFileSizeMax(long)
public void setMaxInMemorySize(int maxInMemorySize)
maxInMemorySize
- 許容されるメモリサイズの最大値 DiskFileItemFactory.setSizeThreshold(int)
public void setDefaultEncoding(StringSE defaultEncoding)
リクエスト自体が文字エンコーディングを指定している場合、リクエストのエンコーディングはこの設定をオーバーライドします。これにより、ServletRequest.setCharacterEncoding
メソッドを呼び出すフィルターの文字エンコードを一般的にオーバーライドすることもできます。
defaultEncoding
- 使用する文字エンコーディング ServletRequest.getCharacterEncoding()
EE, ServletRequest.setCharacterEncoding(java.lang.String)
EE, WebUtils.DEFAULT_CHARACTER_ENCODING
, FileUploadBase.setHeaderEncoding(java.lang.String)
protected StringSE getDefaultEncoding()
public void setUploadTempDir(Resource uploadTempDir) throws IOExceptionSE
protected boolean isUploadTempDirSpecified()
public void setPreserveFilename(boolean preserveFilename)
CommonsMultipartFile.getOriginalFilename()
のパス情報を削除せずに、クライアントから送信されたファイル名を保存するかどうかを設定します。デフォルトは "false" で、実際のファイル名の前にあるパス情報を取り除きます。Opera から。これを "true" に切り替えて、潜在的なパス区切り文字を含め、クライアント指定のファイル名をそのまま保持します。
protected org.apache.commons.fileupload.disk.DiskFileItemFactory newFileItemFactory()
デフォルトの実装は、標準の DiskFileItemFactory を返します。オーバーライドして、カスタムサブクラスを使用できます。テスト用。
protected abstract org.apache.commons.fileupload.FileUpload newFileUpload(org.apache.commons.fileupload.FileItemFactory fileItemFactory)
サブクラスによって実装されます。
fileItemFactory
- 構築する Commons FileItemFactoryprotected org.apache.commons.fileupload.FileUpload prepareFileUpload(@Nullable StringSE encoding)
デフォルトの実装では、エンコーディングが一致する場合は共有 FileUpload インスタンスを返し、それ以外の場合は、目的のエンコーディング以外の同じ構成で新しい FileUpload インスタンスを作成します。
encoding
- 使用する文字エンコーディング protected CommonsFileUploadSupport.MultipartParsingResult parseFileItems(ListSE<org.apache.commons.fileupload.FileItem> fileItems, StringSE encoding)
fileItems
- 解析する Commons FileItemsencoding
- フォームフィールドに使用するエンコーディング CommonsMultipartFile(org.apache.commons.fileupload.FileItem)
protected CommonsMultipartFile createMultipartFile(org.apache.commons.fileupload.FileItem fileItem)
FileItem
の CommonsMultipartFile
ラッパーを作成します。fileItem
- ラップするコモンズ FileItemsetPreserveFilename(boolean)
, CommonsMultipartFile.setPreserveFilename(boolean)
protected void cleanupFileItems(MultiValueMap<StringSE,MultipartFile> multipartFiles)
基になる Commons FileItem インスタンスを削除します。
multipartFiles
- MultipartFile インスタンスのコレクション FileItem.delete()