I am taking a photograph from within my Android app using this code:
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK){
photo = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.JPEG, 40, baos);
byte[] photoByte = baos.toByteArray();
encodedImage = Base64.encodeToString(photoByte,Base64.DEFAULT);
}
I am sending this String encodedImage
to my PHP server through POST and receiving it to $encodedImage
. I have a database where I have a field myImage
of type MEDIUMBLOB
. I tried to save the encodedimage
in myImage
but it is saved as corrupted image. I tried to save as base64_decode($encodedImage)
but somehow that didn't work either.
I want three things to be done:
Save image to server-side database (BLOB)
Show image to a webpage
Send it back to the Android app.
I am facing issues in understanding the conversion of image required in different formats for the above tasks.
For my current project, I don't want to save my image to folder and give link to the database, so that option is closed for me.
My PHP code to save the image:
$baseImage = $_POST['baseImage'];
$blobImage = base64_decode($baseImage);
$query = "INSERT INTO `complaints`(`myImage`,...) VALUES ('$blobImage',...)"
$result = mysqli_query($conn,$query);