I am need to convert image into hex string to send it to web server. I am using this method to convert image to byte array
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 8;
Bitmap receipt = BitmapFactory.decodeFile(photo.toString(),options);
int size = receipt.getRowBytes() * receipt.getHeight();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
receipt.compress(Bitmap.CompressFormat.JPEG, 90, stream);
receiptbyte = stream.toByteArray();
String hexstring = toHex(receiptbyte);
and this to convert into hex
public static String toHex(byte[] bytes) {
BigInteger bi = new BigInteger(1, bytes);
return String.format("%0" + (bytes.length << 1) + "X", bi);
}
i want to produce the output as like
c11ee236-8f72-4b60-9208-79977d61993f
I am not sure what to do. Do i need to encode it?
The string you have like
c11ee236-8f72-4b60-9208-79977d61993fis not an image – it looks more like an ID to an image stored on a server.If you want the image you have to send the ID to the server and the server sends back the image data stored in it’s database that belongs to the ID.
In Java you can generate such random IDs simply by yourself:
Outputs for example:
3aa5b32d-c6fb-43c5-80c9-78a1a35aff40Building your own server you can use this and save both image data and this ID into a database.