Useful in conjunction with a
MockMultipartHttpServletRequest
for testing application controllers that access multipart uploads.
Since:
Author:
Juergen Hoeller, Eric Crampton
See Also:
MockMultipartHttpServletRequest
Return whether the uploaded file is empty, that is, either no file has
been chosen in the multipart form or the chosen file has no content.
Transfer the received file to the given destination file.
Methods inherited from class java.lang.
Object
clone
,
equals
,
finalize
,
getClass
,
hashCode
,
notify
,
notifyAll
,
toString
,
wait
,
wait
,
wait
Methods inherited from interface org.springframework.web.multipart.
MultipartFile
getResource
,
transferTo
InputStream
contentStream)
throws
IOException
Create a new MockMultipartFile with the given content.
Parameters:
name
- the name of the file
contentStream
- the content of the file as stream
Throws:
IOException
- if reading from the stream failed
Parameters:
name
- the name of the file
originalFilename
- the original filename (as on the client's machine)
contentType
- the content type (if known)
content
- the content of the file
InputStream
contentStream)
throws
IOException
Create a new MockMultipartFile with the given content.
Parameters:
name
- the name of the file
originalFilename
- the original filename (as on the client's machine)
contentType
- the content type (if known)
contentStream
- the content of the file as stream
Throws:
IOException
- if reading from the stream failed
Return the name of the parameter in the multipart form.
Specified by:
getName
in interface
MultipartFile
Returns:
the name of the parameter (never
null
or empty)
Return the original filename in the client's filesystem.
This may contain path information depending on the browser used,
but it typically will not with any other than Opera.
Note:
Please keep in mind this filename is supplied
by the client and should not be used blindly. In addition to not using
the directory portion, the file name could also contain characters such
as ".." and others that can be used maliciously. It is recommended to not
use this filename directly. Preferably generate a unique one and save
this one somewhere for reference, if necessary.
Specified by:
getOriginalFilename
in interface
MultipartFile
Returns:
the original filename, or the empty String if no file has been chosen
in the multipart form, or
null
if not defined or not available
See Also:
RFC 7578, Section 4.2
Unrestricted File Upload
Return the content type of the file.
Specified by:
getContentType
in interface
MultipartFile
Returns:
the content type, or
null
if not defined
(or no file has been chosen in the multipart form)
public
boolean
isEmpty
()
Return whether the uploaded file is empty, that is, either no file has
been chosen in the multipart form or the chosen file has no content.
Specified by:
isEmpty
in interface
MultipartFile
public
long
getSize
()
Return the size of the file in bytes.
Specified by:
getSize
in interface
MultipartFile
Returns:
the size of the file, or 0 if empty
Return the contents of the file as an array of bytes.
Specified by:
getBytes
in interface
MultipartFile
Returns:
the contents of the file as bytes, or an empty byte array if empty
Throws:
IOException
- in case of access errors (if the temporary store fails)
Return an InputStream to read the contents of the file from.
The user is responsible for closing the returned stream.
Specified by:
getInputStream
in interface
InputStreamSource
Specified by:
getInputStream
in interface
MultipartFile
Returns:
the contents of the file as stream, or an empty stream if empty
Throws:
IOException
- in case of access errors (if the temporary store fails)
See Also:
Resource.isReadable()
throws
IOException
,
IllegalStateException
Transfer the received file to the given destination file.
This may either move the file in the filesystem, copy the file in the
filesystem, or save memory-held contents to the destination file. If the
destination file already exists, it will be deleted first.
If the target file has been moved in the filesystem, this operation
cannot be invoked again afterwards. Therefore, call this method just once
in order to work with any storage mechanism.
NOTE:
Depending on the underlying provider, temporary storage
may be container-dependent, including the base directory for relative
destinations specified here (e.g. with Servlet multipart handling).
For absolute destinations, the target file may get renamed/moved from its
temporary location or newly copied, even if a temporary copy already exists.
Specified by:
transferTo
in interface
MultipartFile
Parameters:
dest
- the destination file (typically absolute)
Throws:
IOException
- in case of reading or writing errors
IllegalStateException
- if the file has already been moved
in the filesystem and is not available anymore for another transfer
See Also:
Part.write(String)