[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12893245#action_12893245
 ] 

Oleg Kalnichevski commented on HTTPCLIENT-971:
----------------------------------------------

I am all right. I just tend to expect some more research / better evidence for 
issues opened with critical severity. 

Have you tried using the browser compatibility mode? In that mode HttpMultipart 
should generate MIME structures more compatible with those generated by common 
browsers. This should make PlainBody unnecessary.

Oleg

> 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
>          Components: HttpMime
>    Affects Versions: 4.0.1, 4.1 Alpha2
>         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: Minor
>         Attachments: dump_firefox, PlainBody.java
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> 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