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, waitSEgetResource, transferTopublic 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()
MultipartFileMultipartFile の getName null または空ではない)@NonNull public StringSE getOriginalFilename()
MultipartFileこれには、使用するブラウザーによってはパス情報が含まれる場合がありますが、通常は Opera 以外には含まれません。
注意 : このファイル名はクライアントから提供されたものであり、盲目的に使用しないでください。ファイル名には、ディレクトリ部分を使用しないだけでなく、".." などの悪意のある文字を含めることもできます。このファイル名を直接使用しないことをお勧めします。できれば、一意のものを生成し、必要に応じて、参照用にこれをどこかに保存してください。
MultipartFile の getOriginalFilename null FileItem.getName(), CommonsMultipartFile.setPreserveFilename(boolean), RFC 7578、セクション 4.2 , 無制限のファイルアップロード@Nullable public StringSE getContentType()
MultipartFileMultipartFile の getContentType null (または、マルチパート形式でファイルが選択されていません)public boolean isEmpty()
MultipartFileMultipartFile の isEmpty public long getSize()
MultipartFileMultipartFile の getSize public byte[] getBytes()
throws IOExceptionSEMultipartFileMultipartFile の 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