public class MockMultipartFile extends ObjectSE implements MultipartFile
MultipartFile
インターフェースのモック実装。 マルチパートアップロードにアクセスするアプリケーションコントローラーをテストするために、MockMultipartHttpServletRequest
と組み合わせて使用すると便利です。
MockMultipartHttpServletRequest
コンストラクターと説明 |
---|
MockMultipartFile(StringSE name, byte[] content) 指定されたコンテンツで新しい MockMultipartFile を作成します。 |
MockMultipartFile(StringSE name, InputStreamSE contentStream) 指定されたコンテンツで新しい MockMultipartFile を作成します。 |
MockMultipartFile(StringSE name, StringSE originalFilename, StringSE contentType, byte[] content) 指定されたコンテンツで新しい MockMultipartFile を作成します。 |
MockMultipartFile(StringSE name, StringSE originalFilename, StringSE contentType, InputStreamSE contentStream) 指定されたコンテンツで新しい MockMultipartFile を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
byte[] | getBytes() ファイルの内容をバイトの配列として返します。 |
StringSE | getContentType() ファイルのコンテンツ型を返します。 |
InputStreamSE | getInputStream() ファイルの内容を読み取る InputStream を返します。 |
StringSE | getName() マルチパート形式でパラメーターの名前を返します。 |
StringSE | getOriginalFilename() クライアントのファイルシステムにある元のファイル名を返します。 |
long | getSize() ファイルのサイズをバイト単位で返します。 |
boolean | isEmpty() アップロードされたファイルが空かどうか、つまり、マルチパート形式でファイルが選択されていないか、選択されたファイルにコンテンツがないかを返します。 |
void | transferTo(FileSE dest) 受信したファイルを指定された宛先ファイルに転送します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getResource, transferTo
public MockMultipartFile(StringSE name, @Nullable byte[] content)
name
- ファイルの名前 content
- ファイルの内容 public MockMultipartFile(StringSE name, InputStreamSE contentStream) throws IOExceptionSE
name
- ファイルの名前 contentStream
- ストリームとしてのファイルのコンテンツ IOExceptionSE
- ストリームからの読み取りに失敗した場合 public MockMultipartFile(StringSE name, @Nullable StringSE originalFilename, @Nullable StringSE contentType, @Nullable byte[] content)
name
- ファイルの名前 originalFilename
- 元のファイル名 (クライアントのマシン上)contentType
- コンテンツ型 (既知の場合)content
- ファイルの内容 public MockMultipartFile(StringSE name, @Nullable StringSE originalFilename, @Nullable StringSE contentType, InputStreamSE contentStream) throws IOExceptionSE
name
- ファイルの名前 originalFilename
- 元のファイル名 (クライアントのマシン上)contentType
- コンテンツ型 (既知の場合)contentStream
- ストリームとしてのファイルのコンテンツ IOExceptionSE
- ストリームからの読み取りに失敗した場合 public StringSE getName()
MultipartFile
MultipartFile
の getName
null
または空ではない)@NonNull public StringSE getOriginalFilename()
MultipartFile
これには、使用するブラウザーによってはパス情報が含まれる場合がありますが、通常は Opera 以外には含まれません。
注意 : このファイル名はクライアントから提供されたものであり、盲目的に使用しないでください。ファイル名には、ディレクトリ部分を使用しないだけでなく、".." などの悪意のある文字を含めることもできます。このファイル名を直接使用しないことをお勧めします。できれば、一意のものを生成し、必要に応じて、参照用にこれをどこかに保存してください。
MultipartFile
の getOriginalFilename
null
FileItem.getName()
, CommonsMultipartFile.setPreserveFilename(boolean)
, RFC 7578、セクション 4.2 , 無制限のファイルアップロード@Nullable public StringSE getContentType()
MultipartFile
MultipartFile
の getContentType
null
(または、マルチパート形式でファイルが選択されていません)public boolean isEmpty()
MultipartFile
MultipartFile
の isEmpty
public long getSize()
MultipartFile
MultipartFile
の getSize
public byte[] getBytes() throws IOExceptionSE
MultipartFile
MultipartFile
の getBytes
IOExceptionSE
- アクセスエラーの場合 (一時ストアが失敗した場合)public InputStreamSE getInputStream() throws IOExceptionSE
MultipartFile
ユーザーは、返されたストリームを閉じる責任があります。
InputStreamSource
の getInputStream
MultipartFile
の getInputStream
IOExceptionSE
- アクセスエラーの場合 (一時ストアが失敗した場合)Resource.isReadable()
public void transferTo(FileSE dest) throws IOExceptionSE, IllegalStateExceptionSE
MultipartFile
これにより、ファイルシステム内のファイルを移動したり、ファイルシステム内のファイルをコピーしたり、メモリ内のコンテンツを宛先ファイルに保存したりできます。宛先ファイルがすでに存在する場合、最初に削除されます。
ターゲットファイルがファイルシステム内で移動されている場合、この操作は後で再度呼び出すことはできません。ストレージメカニズムを使用するには、このメソッドを 1 回だけ呼び出します。
注意 : 基礎となるプロバイダーに応じて、一時ストレージは、ここで指定された相対的な宛先のベースディレクトリなど、コンテナーに依存する場合があります(例: Servlet 3.0 マルチパート処理)。絶対的な宛先の場合、一時コピーがすでに存在していても、ターゲットファイルの名前が変更されたり、一時的な場所から移動されたり、新しくコピーされたりすることがあります。
MultipartFile
の transferTo
dest
- 宛先ファイル (通常は絶対)IOExceptionSE
- 読み取りまたは書き込みエラーの場合 IllegalStateExceptionSE
- ファイルがファイルシステム内ですでに移動されており、別の転送に使用できない場合 FileItem.write(File)
, Part.write(String)
EE