public class FilePart extends Part
FilePart
is an upload part which represents a
INPUT TYPE="file"
form parameter. Note that because file
upload data arrives via a single InputStream, each FilePart's contents
must be read before moving onto the next part. Don't try to store a
FilePart object for later processing because by then their content will
have been passed by.Modifier and Type | Field and Description |
---|---|
private String |
contentType
content type of the file
|
private String |
fileName
"file system" name of the file
|
private String |
filePath
path of the file as sent in the request, if given
|
private PartInputStream |
partInput
input stream containing file data
|
private FileRenamePolicy |
policy
file rename policy
|
Constructor and Description |
---|
FilePart(String name,
ServletInputStream in,
String boundary,
String contentType,
String fileName,
String filePath)
Construct a file part; this is called by the parser.
|
Modifier and Type | Method and Description |
---|---|
String |
getContentType()
Returns the content type of the file data contained within.
|
String |
getFileName()
Returns the name that the file was stored with on the remote system,
or
null if the user didn't enter a file to be uploaded. |
String |
getFilePath()
Returns the full path and name of the file on the remote system,
or
null if the user didn't enter a file to be uploaded. |
InputStream |
getInputStream()
Returns an input stream which contains the contents of the
file supplied.
|
boolean |
isFile()
Returns
true to indicate this part is a file. |
void |
setRenamePolicy(FileRenamePolicy policy)
Puts in place the specified policy for handling file name collisions.
|
(package private) long |
write(OutputStream out)
Internal method to write this file part; doesn't check to see
if it has contents first.
|
long |
writeTo(File fileOrDirectory)
Write this file part to a file or directory.
|
long |
writeTo(OutputStream out)
Write this file part to the given output stream.
|
private String contentType
private PartInputStream partInput
private FileRenamePolicy policy
FilePart(String name, ServletInputStream in, String boundary, String contentType, String fileName, String filePath) throws IOException
name
- the name of the parameter.in
- the servlet input stream to read the file from.boundary
- the MIME boundary that delimits the end of file.contentType
- the content type of the file provided in the
MIME header.fileName
- the file system name of the file provided in the
MIME header.filePath
- the file system path of the file provided in the
MIME header (as specified in disposition info).IOException
- if an input or output exception has occurred.public void setRenamePolicy(FileRenamePolicy policy)
public String getFileName()
null
if the user didn't enter a file to be uploaded.
Note: this is not the same as the name of the form parameter used to
transmit the file; that is available from the getName
method. Further note: if file rename logic is in effect, the file
name can change during the writeTo() method when there's a collision
with another file of the same name in the same directory. If this
matters to you, be sure to pay attention to when you call the method.null
.Part.getName()
public String getFilePath()
null
if the user didn't enter a file to be uploaded.
If path information was not supplied by the remote system, this method
will return the same as getFileName()
.null
.Part.getName()
public String getContentType()
public InputStream getInputStream()
0
bytes in the input stream.
It's important to read the contents of the InputStream
immediately and in full before proceeding to process the
next part. The contents will otherwise be lost on moving
to the next part.public long writeTo(File fileOrDirectory) throws IOException
IOException
- if an input or output exception has occurred.public long writeTo(OutputStream out) throws IOException
IOException
- if an input or output exception has occurred.long write(OutputStream out) throws IOException
IOException
- if an input or output exception has occurred.WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses