Android: отправка массива байтов[] через Http 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();
однако мне нужно сделать сообщение двоичных данных (которое находится в форме byte[]).
Не уверен, как изменить приведенный выше код для его реализации.
Кто-нибудь может мне помочь?
3 ответов
посмотреть здесь отправка почтовых данных в Android
но используйте ByteArrayEntity.
byte[] content = ...
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new ByteArrayEntity(content));
HttpResponse response = httpClient.execute(httpPost);
вы можете base-64 сначала кодировать свои данные. Взгляните на метко названный в base64 класса.