org.apache.commons.httpclient.methods
public class MultipartPostMethod extends ExpectContinueMethod
Deprecated: Use {@link org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity} in conjunction with {@link org.apache.commons.httpclient.methods.PostMethod} instead.
Implements the HTTP multipart POST method.The HTTP multipart POST method is defined in section 3.3 of RFC1867:
The media-type multipart/form-data follows the rules of all multipart MIME data streams as outlined in RFC 1521. The multipart/form-data contains a series of parts. Each part is expected to contain a content-disposition header where the value is "form-data" and a name attribute specifies the field name within the form, e.g., 'content-disposition: form-data; name="xxxxx"', where xxxxx is the field name corresponding to that field. Field names originally in non-ASCII character sets may be encoded using the method outlined in RFC 1522.
Since: 2.0
Field Summary | |
---|---|
static String | MULTIPART_FORM_CONTENT_TYPE The Content-Type for multipart/form-data. |
Constructor Summary | |
---|---|
MultipartPostMethod()
No-arg constructor. | |
MultipartPostMethod(String uri)
Constructor specifying a URI.
|
Method Summary | |
---|---|
protected void | addContentLengthRequestHeader(HttpState state, HttpConnection conn)
Adds a Content-Length request header, as long as no
Content-Length request header already exists.
|
protected void | addContentTypeRequestHeader(HttpState state, HttpConnection conn)
Adds a Content-Type request header.
|
void | addParameter(String parameterName, String parameterValue)
Adds a text field part
|
void | addParameter(String parameterName, File parameterFile)
Adds a binary file part
|
void | addParameter(String parameterName, String fileName, File parameterFile)
Adds a binary file part with the given file name
|
void | addPart(Part part)
Adds a part.
|
protected void | addRequestHeaders(HttpState state, HttpConnection conn)
Populates the request headers map to with additional
{@link org.apache.commons.httpclient.Header headers} to be submitted to
the given {@link HttpConnection}.
|
String | getName()
Returns "POST". |
Part[] | getParts()
Returns all parts.
|
protected long | getRequestContentLength() Return the length of the request body. Once this method has been invoked, the request parameters cannot be altered until the method is {@link #recycle recycled}. |
protected boolean | hasRequestContent()
Returns true
|
void | recycle()
Recycles the HTTP method so that it can be used again.
|
protected boolean | writeRequestBody(HttpState state, HttpConnection conn)
Writes the request body to the given {@link HttpConnection connection}.
|
Parameters: uri either an absolute or relative URI
Parameters: state current state of http requests conn the connection to use for I/O
Throws: IOException if an I/O (transport) error occurs. Some transport exceptions can be recovered from. HttpException if a protocol exception occurs. Usually protocol exceptions cannot be recovered from.
Since: 3.0
Parameters: state current state of http requests conn the connection to use for I/O
Throws: IOException if an I/O (transport) error occurs. Some transport exceptions can be recovered from. HttpException if a protocol exception occurs. Usually protocol exceptions cannot be recovered from.
Since: 3.0
Parameters: parameterName The name of the parameter. parameterValue The value of the parameter.
Parameters: parameterName The name of the parameter parameterFile The name of the file.
Throws: FileNotFoundException If the file cannot be found.
Parameters: parameterName The name of the parameter fileName The file name parameterFile The file
Throws: FileNotFoundException If the file cannot be found.
Parameters: part The part to add.
This implementation adds tt>Content-Length and Content-Type headers, when appropriate.
Subclasses may want to override this method to to add additional headers, and may choose to invoke this implementation (via super) to add the "standard" headers.
Parameters: state the {@link HttpState state} information associated with this method conn the {@link HttpConnection connection} used to execute this HTTP method
Throws: IOException if an I/O (transport) error occurs. Some transport exceptions can be recovered from. HttpException if a protocol exception occurs. Usually protocol exceptions cannot be recovered from.
See Also: MultipartPostMethod
Returns: "POST"
Returns: an array of containing all parts
Return the length of the request body.
Once this method has been invoked, the request parameters cannot be altered until the method is {@link #recycle recycled}.
Returns: The request content length.
Returns: true
Since: 2.0beta1
Deprecated: no longer supported and will be removed in the future version of HttpClient
Recycles the HTTP method so that it can be used again. Note that all of the instance variables will be reset once this method has been called. This method will also release the connection being used by this HTTP method.Parameters: state the {@link HttpState state} information associated with this method conn the {@link HttpConnection connection} used to execute this HTTP method
Returns: true
Throws: IOException if an I/O (transport) error occurs. Some transport exceptions can be recovered from. HttpException if a protocol exception occurs. Usually protocol exceptions cannot be recovered from.