commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Sangster" <>
Subject RE: [FileUpload/HTTPClient] (re)encode already consumed multipart request
Date Fri, 20 May 2005 14:50:15 GMT
Hi Alexander,

I'm curious as to whether I understand the request you made below and
whether it is very similar (or the same) as to what I had been hoping to do.

I have a servlet which receives an HTTP multipart POST from a client, then
forwards that same request on to the final destination server (basically the
project is a HTTP proxy, whereby the client sends me data, and I send it on
to a configurable end server).

At present time I use the FileUpload component to handle the request from
the client and save the file to disk, then I construct a multipart POST
using HttpClient to send the data onwards.   If it's possible to avoid
saving the file to disk, but rather have it stream from the client request
into my new multipart POST to the end server, that would be great, and
probably help out the performance substantially.

The performance now isn't so bad, but should I start getting into bigger
files (on the order of magnitude of MBs), then the performance will suffer.

Any feedback from yourself or others on how to accomplish this would be
greatly appreciated.  Aside from this one little struggle, I must say that
HttpClient and FileUpload have made the job much simpler.


-----Original Message-----
From: Alexander Sack [] 
Sent: Friday, May 20, 2005 5:39 AM
Subject: [FileUpload/HTTPClient] (re)encode already consumed multipart


I am wondering if there is an easy way to (re)encode a multipart form
request, so I can send the stream to a different HTTP server without the
need to care for pitfalls when constructing valid multipart requests?

It is important to me that I don't need to use a complete HTTP API for that
(like the high level interfaces of the commons httpclient project) ... at
best I could just produce the payload stream of a multipart POST request.

I looked into the httpclient api ... and found
org.apache.commons.httpclient.Part implementations provide a way to stream
themselves to an output stream. But how to build a complete, valid multipart
stream from that without using a full HTTPClient capability?

Maybe it is enough to stream all parts to an output stream one by one? If
not, what else is needed to properly encode a multipart request that has
already been consumed by the fileupload api, to a new, valid multipart

Any tricks or hints are welcome. TIA!



Alexander Sack    +49 (40) 692 13 - 179    e-mail:
Contelligent ... a smart CMS solution -
C:1 Financial Services GmbH  -  Dorotheenstr. 64  -   22301 Hamburg

To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message