public class CommonsMultipartFile extends Object implements MultipartFile, Serializable
MultipartFile implementation for Apache Commons FileUpload.CommonsMultipartResolver,
Serialized Form| Constructor and Description |
|---|
CommonsMultipartFile(org.apache.commons.fileupload.FileItem fileItem)
Create an instance wrapping the given FileItem.
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
getBytes()
Return the contents of the file as an array of bytes.
|
String |
getContentType()
Return the content type of the file.
|
org.apache.commons.fileupload.FileItem |
getFileItem()
Return the underlying
org.apache.commons.fileupload.FileItem
instance. |
InputStream |
getInputStream()
Return an InputStream to read the contents of the file from.
|
String |
getName()
Return the name of the parameter in the multipart form.
|
String |
getOriginalFilename()
Return the original filename in the client's filesystem.
|
long |
getSize()
Return the size of the file in bytes.
|
String |
getStorageDescription()
Return a description for the storage location of the multipart content.
|
protected boolean |
isAvailable()
Determine whether the multipart content is still available.
|
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.
|
void |
setPreserveFilename(boolean preserveFilename)
Set whether to preserve the filename as sent by the client, not stripping off
path information in
getOriginalFilename(). |
void |
transferTo(File dest)
Transfer the received file to the given destination file.
|
protected static final Log logger
public CommonsMultipartFile(org.apache.commons.fileupload.FileItem fileItem)
fileItem - the FileItem to wrappublic final org.apache.commons.fileupload.FileItem getFileItem()
org.apache.commons.fileupload.FileItem
instance. There is hardly any need to access this.public void setPreserveFilename(boolean preserveFilename)
getOriginalFilename().
Default is "false", stripping off path information that may prefix the actual filename e.g. from Opera. Switch this to "true" for preserving the client-specified filename as-is, including potential path separators.
getOriginalFilename(),
CommonsFileUploadSupport.setPreserveFilename(boolean)public String getName()
MultipartFilegetName in interface MultipartFilenull or empty)public String getOriginalFilename()
MultipartFileThis may contain path information depending on the browser used, but it typically will not with any other than Opera.
getOriginalFilename in interface MultipartFilenull if not defined or not availableFileItem.getName(),
setPreserveFilename(boolean)public String getContentType()
MultipartFilegetContentType in interface MultipartFilenull if not defined
(or no file has been chosen in the multipart form)public boolean isEmpty()
MultipartFileisEmpty in interface MultipartFilepublic long getSize()
MultipartFilegetSize in interface MultipartFilepublic byte[] getBytes()
MultipartFilegetBytes in interface MultipartFilepublic InputStream getInputStream() throws IOException
MultipartFileThe user is responsible for closing the returned stream.
getInputStream in interface InputStreamSourcegetInputStream in interface MultipartFileIOException - in case of access errors (if the temporary store fails)public void transferTo(File dest) throws IOException, IllegalStateException
MultipartFileThis 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 3.0 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.
transferTo in interface MultipartFiledest - the destination file (typically absolute)IOException - in case of reading or writing errorsIllegalStateException - if the file has already been moved
in the filesystem and is not available anymore for another transferFileItem.write(File),
Part.write(String)protected boolean isAvailable()
public String getStorageDescription()