Это сводит меня с ума!
Я взял изображение и использую метод Bitmap.Compress, чтобы получить изображение в байтовый массив (как показано ниже)
InputStream is = MyActivity.this.getContentResolver().openInputStream(imageUri);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2; //try to decrease decoded image
options.inPurgeable = true; //purgeable to disk
Bitmap bitmap = BitmapFactory.decodeStream(is, null, options);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, bos);
myModel.setFullImage(bos.toByteArray());
Однако, когда я смотрю на первые несколько байтов байта [], он содержит многочисленные -1, а также действительные числа (0-255) и отрицательные числа, такие как -98 и т. Д.
Язатем отправка этих данных по проводам (в формате json), и они не могут преобразовать их в ac # byte [] из-за отрицательных чисел в массиве.Я даже пытался установить компрессор на 0, если компресс что-то делал.
Странно то, что если я конвертирую байты в base64, то передаю, что могу успешно преобразовать строку base64 в байт [] в c # as сохранить изображение.
Что происходит не так?
Заранее спасибо
Джон