If you are sending binary data--say because you user is downloading a file,
or your servlet is writing a image--you need to open a
javax.servlet.ServletOutputStream (
http://download.oracle.com/javaee/6/api/javax/servlet/ServletOutputStream.html
).

On Fri, Jul 15, 2011 at 11:23 AM, Paritosh Patel <xygnu...@gmail.com> wrote:

> I apologize in advance if this is not the correct mail list for such a
> question, but this is the closest one I could find.
>
> (I am using Tomcat 6.0.26 but my question is generic in nature)
>
> I have a Java client that talks to a servlet using several text fields. I
> now wanted to add a field that includes binary data (in this case a protocol
> buffer byte array). The data gets to the servlet, but the bytes are changed.
> Specifically, it appears that the encoding/decoding of bytes > 127 are not
> the same as the original bytes.
>
> The client specified content-type to be "application/x-www-form-urlencoded"
> right now, but I have tried several others. Then, for encoding, I have tried
> encoding the bytes using URLEncoder
>
>        ByteArrayOutputStream osBytes = new ByteArrayOutputStream();
>        byte[] val = "..."  // My binary data
>        String valStr = new String((byte[]) val);
>        osBytes.write(URLEncoder.encode(valStr, "UTF-8").getBytes());
>
>        DataOutputStream  os = new
> DataOutputStream(urlConn.getOutputStream());
>        os.write(osBytes.toByteArray());
>
> Now, on the servlet side, I do a request.getParameter() to get the field.
> It is already decoded (I assume URL decoding) by the servlet container. Do I
> have control over the decoding?
>
> A portion of the byte array at the client is as follows...
> 31 12  e  8 ac e2 cb 8c 90 26 10 90
>
> There are several variables, that I need to get right at the same time.
> 1) content-type... what is the correct content type
> 2) encoder... is URLEncoder the correct encoder?
> 3) encode string... UTF-8 and US-ASCII do not work.
> 4) do I have control over the decoding on the servlet side?
> 5) anything else I need to worry about?
>
> Any help would be greatly appreciated.
>
> - Tosh
>
>


-- 
"Hell hath no limits, nor is circumscrib'd In one self-place; but where we
are is hell, And where hell is, there must we ever be" --Christopher
Marlowe, *Doctor Faustus* (v, 121-24)

Reply via email to