2010-11-22 4 views
0

Как вы отправляете большой (> 5 МБ) пост-параметр (среди других параметров сообщения) в Android?Отправить большой пост param в Android

Я в настоящее время использую org.apache.http.client.methods.HttpPost и список BasicNameValuePair для отправки сообщений params.

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost(someURL); 
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
nameValuePairs.add(new BasicNameValuePair("param1", "value1")); 
nameValuePairs.add(new BasicNameValuePair("param2", hugeValue)); 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
httpclient.execute(httppost); 

hugeValue очень большая строка, которую я хотел бы прочитать из InputStream и отправить как я прочитал его. Как я могу это сделать?

+2

Вы, вероятно, бежать из памяти идет по этому пути, особенно на небольших телефонов. Возможно, вам понадобится использовать материал «HttpUrlConnection» более низкого уровня из пакета `java.net`. – CommonsWare 2010-11-22 15:52:54

ответ

5

CommonsWare - это правильно. HttpUrlConnection и запись непосредственно в выходной поток решит вашу проблему с памятью. Я использовал его в своем приложении для загрузки 10 и более мб данных изображения.

Хороший пример в соответствии ваш вид запроса пост является: http://www.java.happycodings.com/Other/code21.html

Смежные вопросы