Составные посты загружают изображения - настройка кодировки передачи, настройка заголовков для каждой части

Используя 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"));
httppost.setEntity(entity); HttpResponse response = httpclient.execute(httppost); return response;

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


person Paul Resden    schedule 03.05.2011    source источник


Ответы (1)


entity.addPart("Body", 
               new StringBody(stringbufferObject,Charset.forName( "UTF-8" ))); 

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

person Ahetesum    schedule 18.01.2012