У меня проблема, взяв выбранный снимок галереи и хочу сохранить его сначала как Base64
String
в XML-файле (для последующего использования. Например, если вы выходите из приложения и снова открываете его).Как получить Base64 String из InputStream?
Как вы можете видеть, что я получаю изображение на InputStream
Но прежде всего onClick
метода:
public void onClick(DialogInterface dialog, int which) {
pictureActionIntent = new Intent(Intent.ACTION_GET_CONTENT);
pictureActionIntent.setType("image/*");
startActivityForResult(pictureActionIntent,GALLERY_PICTURE);
}
Сейчас в onActivityResult
метод, который я хочу, чтобы сохранить изображение из InputStream
в Base64
String
,
case GALLERY_PICTURE:
if (resultCode == RESULT_OK && null != data) {
InputStream inputstream = null;
try {
inputstream = getApplicationContext().getContentResolver().openInputStream(data.getData());
Base64InputStream in = new Base64InputStream(inputstream,0);
} catch (IOException e) {
e.printStackTrace();
}
@EDIT Это то, что я делаю после создания base64 строки.
Bitmap bmp = base64EncodeDecode.decodeBase64(Items.get("image"));
Image1.setImageBitmap(bmp);
И это метод декодирования:
public Bitmap decodeBase64(String input) {
byte[] decodedByte = Base64.decode(input, Base64.DEFAULT);
return BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.length);
}
Я пытался использовать Base64InputStream
, но без успеха. Не могли бы вы дать мне подсказку, как добраться от InputStream
до Base64
String
?
Сколько шагов потребуется, не имеет значения.
Я надеюсь, что кто-то может мне помочь!
С уважением!
удивительный! спасибо за ваш код! вы можете сказать мне, что 'format.format (new Date ...' is? – raymondis
ohhh., который использовался для форматирования текущей даты на 'dd_MM_yyyy_hh_mm_ss_aa' в этом формате. Я отредактирую ответ. – ELITE
о, да, конечно, спасибо. – raymondis