Загрузка изображений из нескольких частей - настройка кодировки передачи, настройка заголовков для каждой части - PullRequest
0 голосов
/ 04 мая 2011

Используя java, мне нужно сделать многокомпонентный запрос к API Constant Contacts, чтобы загрузить изображение.Мне нужно создать одну часть с XML в соответствии с их спецификациями для описания файла, а вторая часть должна быть самим файлом.Не проблема.Проблема в правильном построении httppost.Вот выдержка из относительного кода:

MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE, null, null); entity.addPart("Body", new StringBody(content,"application/atom+xml",Charset.forName( "UTF-8" ))); entity.addPart("File", new FileBody (new File("C:\temp\removeRed.gif"), "image/gif"));<br> httppost.setEntity(entity); HttpResponse response = httpclient.execute(httppost); return response;

Я всегда получаю ответ 404.Я знаю, что у меня есть действительное аутентифицированное соединение, и ссылка, на которую я публикую сообщение, верна.В их спецификации говорится, что заголовок типа содержимого первой части должен быть установлен на application / atom + xml.Другая спецификация, которую они дают, заключается в том, что вторая часть, файл, Transfer-Encoding, должна быть установлена ​​в двоичную форму.Кто-нибудь может пролить свет на то, как правильно установить заголовки, кодирование передачи и т. Д. Для каждой «части». Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 18 января 2012
entity.addPart("Body", 
               new StringBody(stringbufferObject,Charset.forName( "UTF-8" ))); 

он также должен быть установлен в andriod, если вы используете некоторые специальные символы в StringBuffer

...