Отправить большой пост-параметр в Android - PullRequest
0 голосов
/ 22 ноября 2010

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

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

 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 и отправьте, как я прочитал.Как я могу это сделать?

1 Ответ

5 голосов
/ 22 ноября 2010

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

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

...