Я отправляю составной запрос на сервер, который будет включать изображение, а также пару строк. Я не нашел никакого руководства о том, как это сделать, все, что я нашел, это просто как сделать сообщение, получить и поставить и т. Д., Но ничего о составных частях. Буду рад любой помощи, спасибо
Использование @Rest в аннотациях Android для создания многостраничных сообщений
Ответы (2)
Здесь у вас есть пример объявления с использованием интерфейса @Rest и здесь у вас есть пример, чтобы сделать это с помощью Spring Android (используется AA для создания клиентский класс)
All together you can use something like this (this code is not tested):
@Rest(rootUrl = "http://mycompany.com/images", converters = FormHttpMessageConverter.class)
public interface RestClient {
@Post("/loadimage")
void sendImage(MultiValueMap formfields);
}
@EActivity
public class MyActivity extends Activity {
@RestService
RestClient restClient; //Inject it
void sendImage(InputStream in) {
MultiValueMap values = new org.springframework.util.LinkedMultiValueMap<String,Object>();
try {
values.put("fileName", "a.jpg");
values.put("file", in);
restClient.sendImage(values);
} finally {
in.close();
}
}
}
person
jmvivo
schedule
24.01.2014
Вторая ссылка, указывающая на пример Spring, не является ссылкой, можете ли вы добавить ссылку?
- person SamAko; 25.01.2014
Попробуй это:
String url = "here_your_url";
File image = new File("here_your_image's_route");
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
тогда:
MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create();
multipartEntity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
multipartEntity.addPart("image", new FileBody(image));
final HttpEntity requestEntity = multipartEntity.build();
//You can add more HttpEntity
httpPost.setEntity(requestEntity);
HttpResponse response = httpClient.execute(httpPost);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if(statusCode == HttpStatus.SC_OK) {
//everything is correct
} else {
//something has gone wrong
}
Для этого я использую три библиотеки:
- httpcore-4.3.jar
- httpmime-4.3.1.jar
- apache-mime4j-0.4.jar
проверьте, что: http://hc.apache.org/downloads.cgi, я думаю, что последнее здесь нет, ищите в другом месте.
person
huertazx
schedule
23.01.2014