Как проверить, является ли ответ, полученный с сервера, изображением или нет в Android? - PullRequest
0 голосов
/ 23 июня 2010

В моем приложении для Android я вызываю URL для получения изображений, и этот URL также выбирается динамически. Иногда случается, что сервер возвращает путь к изображению, но на самом деле изображение отсутствует, поэтому мы можем поставить какую-то проверку.

Ответы [ 2 ]

1 голос
/ 23 июня 2010

Когда URL-адрес закончил загрузку, попробуйте декодировать результат в Bitmap объект с decodeByteArray или decodeStream, если он возвращает null, изображение недопустимо.

byte[] data; // server response
// ...
Bitmap img = BitmapFactory.decodeByteArray(data, 0, data.length);
if (img == null) {
  // invalid image
}
else {
  // valid image
}
1 голос
/ 23 июня 2010

Наиболее очевидным решением является использование Content-Type, который возвращает сервер.Вы можете получить это от HttpEntity.getContentType().Если это изображение, оно должно начинаться с «image /».Если это отсутствует или неточно, есть обходные пути.

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