Android: отправка массива byte [] через POST Http - PullRequest
11 голосов
/ 15 июня 2011

Я могу сделать POST строки параметров. Я использую следующий код:

String parameters = "firstname=john&lastname=doe";
URL url = new URL("http://www.mywebsite.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
connection.setRequestMethod("POST");

OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write(parameters);
out.flush();
out.close();
connection.disconnect();

Однако мне нужно сделать POST двоичных данных (в форме байта []).

Не уверен, как изменить приведенный выше код для его реализации.
Может ли кто-нибудь помочь мне с этим?

Ответы [ 3 ]

9 голосов
/ 26 июля 2012

Посмотрите здесь Отправка данных POST в Android

Но используйте ByteArrayEntity.

byte[] content = ...
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new ByteArrayEntity(content));           
HttpResponse response = httpClient.execute(httpPost);
6 голосов
/ 15 июня 2011

Вы могли бы base-64 сначала закодировать ваши данные. Взгляните на метко названный Base64 класс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...