Картинка кодируемая в base64 в андройде не декодируется в php base64_decode
Я кодирую на стороне клbента Bitmap в base64
public String toBase64FromBitmap(Bitmap bitmap){
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 65, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();
String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);
return encoded;
}
Затем данные отправляю на сервер
$request = $_GET;
if (isset($request['base64'])) {
$fileTmpPath = imagecreatefromstring(base64_decode($request['base64']));
и получаю ошибку
Warning: imagecreatefromstring(): gd-jpeg: JPEG library reports unrecoverable error: Unsupported marker type 0xf6 in C:\xampp\htdocs\api\v1\profile\base64upload.php on line 22
Warning: imagecreatefromstring(): Passed data is not in 'JPEG' format in C:\xampp\htdocs\api\v1\profile\base64upload.php on line 22
Warning: imagecreatefromstring(): Couldn't create GD Image Stream out of Data in C:\xampp\htdocs\api\v1\profile\base64upload.php on line 22
Notice: Undefined variable: message in C:\xampp\htdocs\api\v1\profile\base64upload.php on line 66
Источник: Stack Overflow на русском