Friday, 17 April 2015

Image Upload from Android device and save/send as base64String type

Declare and initilize before OnCreate

private static int RESULT_LOAD_IMG = 1;
String imgDecodableStringPath; // file path


Inside Oncreate - Button clickevent

// Create intent to Open Image applications like Gallery,Google//Photos
Intent galleryIntent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
// Start the Intent
startActivityForResult(galleryIntent, RESULT_LOAD_IMG);


OutSide Oncreate

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
            try {
                  // When an Image is picked
      if (requestCode == RESULT_LOAD_IMG && resultCode == RESULT_OK
                              && null != data) {
                        // Get the Image from data
Uri selectedImage = data.getData();
String[] filePathColumn = { MediaStore.Images.Media.DATA };
// Get the cursor
Cursor cursor = getContentResolver().query(selectedImage,filePathColumn, null, null, null);
// Move to first row
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
imgDecodableStringPath = cursor.getString(columnIndex);
cursor.close();
Log.v("Path of Image file ->", imgDecodableStringPath);
/*
 * Step 1 - Converting File into BitMap Step 2 - Converting
 * Bitmap into ByteArray Step 3- Converting Byte Array into
 * Base64DataString
 */

Utility.getBytes((BitmapFactory.decodeFile(imgDecodableStringPath)));
String Base64DataSring = Base64.encodeToString(Utility.getBytes((BitmapFactory
.decodeFile(imgDecodableStringPath))),Base64.DEFAULT);
Log.v("Base64DataSring String ->", Base64DataSring);
} else {
Toast.makeText(this, "You haven't picked Image",
                                    Toast.LENGTH_LONG).show();
}    
} catch (Exception e) {
Toast.makeText(this, "Something went wrong", Toast.LENGTH_LONG)
                              .show();
            }

      }


=============================================




Utility.java



public class Utility {
      // convert from bitmap to byte array
      public static byte[] getBytes(Bitmap bitmap) {
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bitmap.compress(CompressFormat.PNG, 0, stream);
            return stream.toByteArray();
      }

      // convert from byte array to bitmap
      public static Bitmap getPhoto(byte[] image) {
            return BitmapFactory.decodeByteArray(image, 0, image.length);
      }
}







No comments:

Post a Comment

How to do text writing animation?  In Android Development we do not have the option to use any other custom font in our default Tex...