Я извлекаю изображение из моей таблицы SQLite и преобразовываю его в байтовый массив, используя этот код:
byte[] imageByteArray = cImage.getBlob(cImage.getColumnIndex("ImageData"));
, который работает нормально (я доказал это, расшифровав его до исходного изображения, например:
ByteArrayInputStream imageStream = new ByteArrayInputStream(imageByteArray);
Bitmap theImage = BitmapFactory.decodeStream(imageStream);
Проблема в том, что мне нужно сериализовать данные изображения и отправить их через веб-службы .net, а затем декодировать их на другом конце.
Я использую этот код для кодирования байта [] в строку Base64:
String sImageData = Base64.encode(imageByteArray);
Затем добавьте его в качестве свойства в мой сервисный вызов.
Для завершения вызова требуется указание, что он отправляет данные - хотя я получаю исключение «Значение не может быть нулевым», когда я делаю это в веб-службе:
byte[] baImageData = Convert.FromBase64String(sImageData);
Я не уверен, как можно отлаживать это дальше - я что-то упускаю очевидное?