2

我一直在试图弄清楚如何使用其中的多部分实体发出 http 请求而感到沮丧。多部分有一个自定义边界,但我似乎无法设置它。我下面的代码导致响应消息说我的消息不包含多个部分。

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);
4

2 回答 2

1

您可以尝试从代码中删除 addHeader 部分并将构造函数更改为

MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,null,Charset.forName("UTF-8"));
于 2011-04-11T12:58:55.217 回答
0

首先,您可以尝试使用:

MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create();

这是初始化它的正确方法,然后:

addDoc.setEntity(entity.build());

至于边界,您的问题不清楚是否需要读取自定义边界或设置它,无论如何自定义边界是通过以下方式设置的;

multipartEntity.setBoundary("some-mimetype-boundary-unique-string");
于 2014-01-08T10:12:00.817 回答