2010-06-30 57 views
2

我一直在試圖弄清楚如何使用其中的多部分實體進行http請求。多部分有一個自定義的邊界,但我似乎無法設置它。我的下面的代碼導致回覆消息,說我的消息不包含多個部分。在其中使用MultipartEntity製作HttpRequest

HttpPut addDoc = new HttpPut(url); 
addDoc.addHeader("Content-Type", "multipart/related; boundary=\"END_OF_PART\""); 
String bodyString = "Test for multipart update"; 
String titleString = "Title Test for multipart update"; 
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 
StringBody title = new StringBody(titleString, "application/atom+xml",Charset.forName("UTF-8")); 
StringBody body = new StringBody(bodyString, "text/plain",Charset.forName("UTF-8")); 
entity.addPart("title", title); 
entity.addPart("body", body); 
addDoc.setEntity(entity); 

回答

1

,你可以嘗試從代碼中移除的addHeader一部分,並改變你的構造函數

MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,null,Charset.forName("UTF-8")); 
0

首先,你可以嘗試使用:

MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create(); 

這是正確的方式來初始化它,然後:

addDoc.setEntity(entity.build()); 

至於你的問題的邊界不清楚你是否需要讀取自定義邊界或設置它,無論如何,自定義邊界的設置方式如下:

multipartEntity.setBoundary("some-mimetype-boundary-unique-string"); 
相關問題