Отредактировано:
Используйте следующий метод для извлечения MIME-типа изображения из галереи:
public static String GetMimeType(Context context, Uri uriImage)
{
String strMimeType = null;
Cursor cursor = context.getContentResolver().query(uriImage,
new String[] { MediaStore.MediaColumns.MIME_TYPE },
null, null, null);
if (cursor != null && cursor.moveToNext())
{
strMimeType = cursor.getString(0);
}
return strMimeType;
}
Это вернет что-то вроде "image / jpeg".
Предыдущий ответ:
Вы можете использовать следующий код для преобразования изображения из Галереи в нужный вам формат, например JPG:
ByteArrayOutputStream outputBuffer = new ByteArrayOutputStream();
Bitmap bitmapImage = BitmapFactory.decodeStream(
getContentResolver().openInputStream(myImageUri));
if (bitmapImage.compress(Bitmap.CompressFormat.JPEG, 100, outputBuffer))
{
// Then perform a base64 of the byte array...
}
Таким образом, вы будете контролировать формат изображения, который вы отправляете на сервер, и даже можете сжимать больше для экономии пропускной способности. ;)