Как отправить изображение через HTTPPost? - PullRequest
2 голосов
/ 07 февраля 2010

Я создаю мероприятие, которое должно загрузить изображение в веб-сервис, используя их API.

Я обнаружил, что если я использую UrlEncodedFormEntity и отправляю данные изображения через него. веб-сервис этого не получает. (по крайней мере, он не сможет это прочитать.)

Фактически, если я добавлю несколько переменных для отправки с данными изображения (такими как имя файла, размер файла), их можно будет прочитать из веб-службы, но данные изображения все равно не появятся, если я попытаюсь прочитать их на стороне сервера.

Сейчас я использую UrlEncodedFormEntity с BasicNameValuePair в качестве контейнера для моих данных.

1 Ответ

2 голосов
/ 25 февраля 2010

Может быть, это поможет вам. Я использовал ту же функциональность, но веб-сервис был разработан мной. Я разместил изображение, используя следующее:

  1. Я получаю конкретный значок Bitmap и сжимаю его в байтовый массив следующим образом:

    ByteArrayOutputStream out = new ByteArrayOutputStream(10240);
    icon.compress(CompressFormat.PNG, 100, out);
    
  2. Затем создайте HttpPost и установите объект.

    httpPostInstance.setEntity(new ByteArrayEntity(out.toByteArray()));
    
  3. Проверьте заголовок «Content-type». Вы должны правильно установить его на то, что ожидает ваш сервис.

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