org.apache.commons.httpclient.methods.multipart
public class MultipartRequestEntity extends Object implements RequestEntity
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.
This entity is designed to be used in conjunction with the {@link org.apache.commons.httpclient.methods.PostMethod post method} to provide multipart posts. Example usage:
File f = new File("/path/fileToUpload.txt");
PostMethod filePost = new PostMethod("http://host/some_path");
Part[] parts = {
new StringPart("param_name", "value"),
new FilePart(f.getName(), f)
};
filePost.setRequestEntity(
new MultipartRequestEntity(parts, filePost.getParams())
);
HttpClient client = new HttpClient();
int status = client.executeMethod(filePost);
Since: 3.0
Field Summary | |
---|---|
protected Part[] | parts The MIME parts as set by the constructor |
Constructor Summary | |
---|---|
MultipartRequestEntity(Part[] parts, HttpMethodParams params)
Creates a new multipart entity containing the given parts. |
Method Summary | |
---|---|
long | getContentLength() |
String | getContentType() |
protected byte[] | getMultipartBoundary()
Returns the MIME boundary string that is used to demarcate boundaries of
this part. |
boolean | isRepeatable()
Returns true if all parts are repeatable, false otherwise. |
void | writeRequest(OutputStream out) |
Parameters: parts The parts to include. params The params of the HttpMethod using this entity.
Returns: The boundary string of this entity in ASCII encoding.