- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
MultiPart.ByteBufferPart,MultiPart.ChunksPart,MultiPart.ContentSourcePart,MultiPart.PathPart,MultiPartByteRanges.Part
- Enclosing class:
MultiPart
A single part of a multipart content.
A part has an optional name, an optional fileName, optional headers and an optional content.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()voiddelete()voidgetContentAsString(Charset defaultCharset) Returns the content of this part as a string.org.eclipse.jetty.io.Content.SourceReturns the content of this part as aContent.Source.Returns the file name of this part, as specified by theHttpHeader.CONTENT_DISPOSITION'sfilenameparameter.longgetName()Returns the name of this part, as specified by theHttpHeader.CONTENT_DISPOSITION'snameparameter.abstract org.eclipse.jetty.io.Content.SourceReturns the content of this part as a newContent.SourcevoidWrites the content of this part to the given path.
-
Constructor Details
-
Part
-
-
Method Details
-
getName
Returns the name of this part, as specified by the
HttpHeader.CONTENT_DISPOSITION'snameparameter.While the
nameparameter is mandatory per RFC 7578, older HTTP clients may not send it.- Returns:
- the name of this part, or
nullif there is no name
-
getFileName
Returns the file name of this part, as specified by the
HttpHeader.CONTENT_DISPOSITION'sfilenameparameter.While the
filenameparameter is mandatory per RFC 7578 when uploading files, older HTTP clients may not send it.The file name may be absent if the part is not a file upload.
- Returns:
- the file name of this part, or
nullif there is no file name
-
getContentSource
public org.eclipse.jetty.io.Content.Source getContentSource()Returns the content of this part as a
Content.Source.Calling this method multiple times will return the same instance, which can only be consumed once.
The content type and content encoding are specified in this part's
headers.The content encoding may be specified by the part named
_charset_, as specified in RFC 7578, section 4.6.- Returns:
- the content of this part
- See Also:
-
newContentSource
public abstract org.eclipse.jetty.io.Content.Source newContentSource()Returns the content of this part as a new
Content.SourceIf the content is reproducible, invoking this method multiple times will return a different independent instance for every invocation.
If the content is not reproducible, subsequent calls to this method will return null.
The content type and content encoding are specified in this part's
headers.The content encoding may be specified by the part named
_charset_, as specified in RFC 7578, section 4.6.- Returns:
- the content of this part as a new
Content.Sourceor null if the content cannot be consumed multiple times. - See Also:
-
getLength
public long getLength() -
getContentAsString
Returns the content of this part as a string.
The charset used to decode the bytes is:
- the
charsetparameter of theHttpHeader.CONTENT_TYPEheader, if non-null; - otherwise, the given
defaultCharsetparameter, if non-null; - otherwise, UTF-8.
- Parameters:
defaultCharset- the charset to use to decode the bytes, if thecharsetparameter of theContent-Typeheader is missing- Returns:
- the content of this part as a string
- the
-
getHeaders
- Returns:
- the headers associated with this part
-
writeTo
Writes the content of this part to the given path.
- Parameters:
path- the Path to write this part's content to- Throws:
IOException- if the write fails
-
delete
- Throws:
IOException
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
fail
-