Создание HttpRequest с MultipartEntity в нем - PullRequest
2 голосов
/ 30 июня 2010

Я был разочарован попыткой выяснить, как сделать 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);

Ответы [ 2 ]

1 голос
/ 11 апреля 2011

вы можете попробовать удалить часть addHeader из вашего кода и изменить конструктор на

MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,null,Charset.forName("UTF-8"));
0 голосов
/ 08 января 2014

Прежде всего вы можете попробовать использовать:

MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create();

, который является правильным способом его инициализации, а затем:

addDoc.setEntity(entity.build());

, поскольку для границы ваш вопрос не ясеннужно ли вам читать пользовательскую границу или установить ее, в любом случае пользовательская граница устанавливается следующим образом:

multipartEntity.setBoundary("some-mimetype-boundary-unique-string");
...