Я использую веб-сервис для получения изображения. Ответ службы содержит изображение в base64Binary формате. Я пытаюсь декодировать данные ответа с Base64.decode() (http://iharder.sourceforge.net/current/java/base64/). Смотрите мой код ниже:Android: получить изображение из base64 двоичного формата
byte[] data = Base64.decode(responseString);
Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);
imageView.setImageBitmap(bmp);
decodeByteArray всегда возвращают нуль.
Я пытаюсь сэкономить данные in .png файл. Я могу открыть этот файл на своем ПК и в приложении Android File Manager. Но просмотр активности File Manager не смог открыть этот файл.
Затем я пытаюсь проанализировать эти данные с помощью .NET-клиента с помощью метода Convert.Base64(). И этот образ успешно обрабатывается. Затем я сравниваю массив байтов в изображении, созданном с клиентом android и .NET-клиентом. Различия были в знаке байтов. .NET использует неподписанные байты, но Java использует только подписанные байты. Является ли это причиной моей проблемы?
Есть ли у кого-то такая же проблема при декодировании base64Binary?
Вы уверены, что 'responseString' и, таким образом,' data' не равны нулю? – user432209
Конечно, я уверен. data и responseString не являются нулевыми. – Ramoz