Multipart Post / FileUpload is missing necessary boundary header
----------------------------------------------------------------

                 Key: HTTPCLIENT-971
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-971
             Project: HttpComponents HttpClient
          Issue Type: Bug
    Affects Versions: 4.1 Alpha2, 4.0.1
         Environment: Ubuntu 10, Java 6
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <!--<version>4.0.1</version>-->
            <version>4.1-alpha2</version>
        </dependency>

        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpmime</artifactId>
            <!--<version>4.0.1</version>-->
            <version>4.1-alpha2</version>
        </dependency>

4.0.1 and 4.1-alpha2 have this bug. 
            Reporter: Dominik Dorn
            Priority: Critical


When doing a multipart post, with a code like this:

<code>
  HttpPost post = new HttpPost("http://"; + host + ":" + port + uploadUrl + 
token.getProgressToken());

    HttpContext context = new BasicHttpContext();
    CookieStore store = cred.getCookieStore();
    context.setAttribute(ClientContext.COOKIE_STORE, store);

    MultipartEntity entity = new MultipartEntity();

    HttpResponse response;
    try{
      entity.addPart("document[pdf_file]", new FileBody(file));
      entity.addPart("authenticity_token", new 
StringBody(token.getAuthenticityToken(), Charset.forName("UTF-8")));
      entity.addPart("document[progress_token]", new 
StringBody(token.getProgressToken(), Charset.forName("UTF-8")));
      post.setEntity(entity);

      HttpClient client = new DefaultHttpClient();

      response = client.execute(post, context);

</code>

The required initializing Header
<code>
Content-Type: multipart/form-data; 
boundary=---------------------------15590059519136285452113363602

Content-Length: 38377




-----------------------------15590059519136285452113363602

Content-Disposition: form-data; name="authenticity_token"



VkJ/mnCDmImYfEVT0zNFBvyyhihKSaUX5j7Vm7d0WUQ=
</code>
is missing. 

Instead it directly starts with
<code>
--gDRYDFqyzjuUrRL5No6B5wHN6BT5Ts2

Content-Disposition: form-data; name="authenticity_token"

Content-Type: text/plain; charset=UTF-8

Content-Transfer-Encoding: 8bit



rvMzKRruVZaKX7JV+4Zpg7LWdxEuhq2hSgtaCIcSzCg=
</code>

The target server ( a rails one ) seems not to be able to understand this 
multipart upload. 

I think the correct place to fix is org.apache.http.entity.mime.MultipartEntity 
but I'm not sure where and how to do it.

Please help. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to