On Wed, Apr 22, 2009 at 12:09:31PM +0100, Richard Jones wrote:
> Hi Oleg,
>
>>> Apologies if this is a newbie question; I'm a long time user of   
>>> httpclient for basic purposes, but am being stumped this week by a 
>>> more  difficult requirement, and wonder if anyone can help.
>>>
>>> I need to assemble a multi-part request, consisting of some normal 
>>> http  headers, an xml document in the first mime-part, and a binary 
>>> document  in the second mime-part.  I need to augment the mime-parts 
>>> with their  own http headers, also; specifically a Content-Type 
>>> declaration and a  Content-Disposition header for each one (which I 
>>> believe is allowed by  the MIME standard, from what I can discern 
>>> from the rfc).  My current  code looks like this:
>>>
>>> HttpClient client = new HttpClient();
>>> PostMethod post = new PostMethod(target);
>>>
>>> // set the request headers
>>> post.setRequestHeader("Slug", slug);
>>> post.setRequestHeader("X-On-Behalf-Of", user);
>>>
>>> // construct the xml and binary file parts
>>> FilePart xmlPart = new FilePart("atom", new File(xml), "text/xml", null);
>>> FilePart binaryPart = new FilePart("binary", new File(binary));
>>>
>>> // make the multipart request body
>>> Part[] parts = { xmlPart, binaryPart };
>>> MultipartRequestEntity re = new MultipartRequestEntity(parts,   
>>> post.getParams());
>>> post.setRequestEntity(re);
>>>
>>> // execute the post
>>> client.executeMethod(post);
>>>
>>> As you can see, I've got the Content-Type header being set properly 
>>> in  the FilePart constructor, and this works fine.  What I can't 
>>> figure out  how to do is add the Content-Disposition header to either 
>>> of these  parts.  I've poked around the examples, tutorials and 
>>> mailing lists but  haven't been able to find any examples of this, 
>>> but I have seen  references in the source code to the content 
>>> disposition in the Part  object from which FilePart eventually 
>>> extends.
>>>
>>> Any help or pointers to documentation gratefully appreciated.
>>>
>>> All the best,
>>>
>>> Richard
>>>
>>>     
>>
>> Hi Richard,
>>
>> The Content-Disposition header will be automatically generated by HttpClient.
>>   
>
> Ah, I see.  And there's no way that I can override the default  
> behaviour?  I need to replace the disposition type with an x- extension  
> of my own, unfortunately.
>
>> If you want a greater control over the process of MIME content generation,
>> please consider upgrading to HttpClient 4.0 which has much improved MIME
>> capabilities based on Apache mime4j.
>>   
>
> I'll take a look at that, thanks.  I understand 4.0 is still in beta, is  
> there a timescale for a production release yet?
>

Q3 2009

Oleg


> Cheers,
>
> Richard
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to