Android - Problema al Guardar/Abrir imagen Android/Mysql/Php

 
Vista:

Problema al Guardar/Abrir imagen Android/Mysql/Php

Publicado por Roberto (5 intervenciones) el 21/06/2019 16:54:36
Hola, espero esten bien y me puedan ayudar. Básicamente es que no puedo visualizar la imagen que guardo en mi server mysql en el navegador. Mis códigos son estos:
Android Studio
1
2
3
4
5
6
7
8
9
10
11
ByteArrayOutputStream baos = new ByteArrayOutputStream();
                    imageBitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
                    byte[] b = baos.toByteArray();
                    encodedImage = Base64.encodeToString(b, Base64.DEFAULT);
 
ConnectivityManager connMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
                NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
                if (networkInfo != null && networkInfo.isConnected()) {
                    url = "http://" + ip + "/envioFoto.php";
                    parametros = "datos="+  encodedImage ;
                    new EnviaDatos().execute(url);
Php guarda:
1
2
3
4
5
6
7
<?php
	$imagen=$_POST["datos"];
};
    $actualiza="UPDATE tabla SET Foto='". $imagen ."' WHERE id=1;
	mysqli_query($conecta,$actualiza);	
mysqli_close($conecta);
echo "ok" ;

En la BD lo guardo como varchar mediumtext latin1_swedish_ci

html:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html lang="es" xmlns="http://www.w3.org/1999/xhtml">
<meta charset="UTF-8" />
<head>
	  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body>
<?php
$quer="SELECT foto FROM tabla WHERE id='1'";
$sql3=$conecta->query($quer);
$count=mysqli_num_rows($sql3);
		while($datos = $sql3->fetch_array()){
?>
 
<?php
$imagen=$datos[0];
echo '<img src="data:image/jpeg;base64,'. base64_encode($imagen) .' "/>';
}
 mysqli_close($conn);
?>
</body>
</html>



Y todo esto termina en:
<img src="data:image/jpeg;base64,LzlqLzRBQVFTa1pKUmdB.........(NO ESCRIBO TODO EL TEXTO PORQUE COMO SABRAN ES MUY LARGO)”........ no puede mostrarse, porque contiene errores.">

y ME MUESTRA EL íCONO DE IMAGEN ROTA


SABEN QUE PUEDE SER?
Desde ya muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sebastian
Val: 23
Ha aumentado 1 puesto en Android (en relación al último mes)
Gráfica de Android

Problema al Guardar/Abrir imagen Android/Mysql/Php

Publicado por Sebastian (6 intervenciones) el 22/06/2019 18:38:54
En el php que guarda te faltan unas comillas para cerrar la sentencia en $actualizar despues del 1.
1
2
3
4
5
6
7
8
<?php
	$imagen=$_POST["datos"];
};
    $actualiza="UPDATE tabla SET Foto='". $imagen ."' WHERE id=1";
	mysqli_query($conecta,$actualiza);	
mysqli_close($conecta);
echo "ok" ; 
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema al Guardar/Abrir imagen Android/Mysql/Php

Publicado por Roberto (5 intervenciones) el 24/06/2019 13:52:26
Hola, si, cuando copié esa linea me olvidè ña comilla. Pero el problema es otro. Es que en la base de datos tengo un string de caracteres pero no lo vè como imagen. Me muestra el ícono de imagen rota.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sebastian
Val: 23
Ha aumentado 1 puesto en Android (en relación al último mes)
Gráfica de Android

Problema al Guardar/Abrir imagen Android/Mysql/Php

Publicado por Sebastian (6 intervenciones) el 24/06/2019 17:26:26
Cambia en src de la etiqueta img, el formato jpeg por bmp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema al Guardar/Abrir imagen Android/Mysql/Php

Publicado por Roberto (5 intervenciones) el 24/06/2019 19:57:48
Lo mismo, nada cambia, y lo mas lindo que dentro del dispositivo las puedo guardar correctamente.
Se vé que es un problema de codificación y decodificación del array guardado en el Servidor.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Sebastian
Val: 23
Ha aumentado 1 puesto en Android (en relación al último mes)
Gráfica de Android

Problema al Guardar/Abrir imagen Android/Mysql/Php

Publicado por Sebastian (6 intervenciones) el 24/06/2019 21:08:45
Intenta dejar el jpeg y quita el base64_encode en la etiqueta img
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema al Guardar/Abrir imagen Android/Mysql/Php

Publicado por Roberto (5 intervenciones) el 24/06/2019 21:49:45
Ya lo hice, nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema al Guardar/Abrir imagen Android/Mysql/Php

Publicado por Roberto (5 intervenciones) el 27/06/2019 15:33:19
Hice la siguiente prueba: Saque una foto y la guarde en el teléfono, mientras enviaba el array de la misma al server mysql.
Luego levanté la foto una página que codifica en base 64 y pegué el código en el <img>. y la foto se ve perfectamente....
Hice lo mismo con el array guardado en mysql, lo pegué en el <img> y la foto no se vé.
Entre ellos no se parecen en nada, el array guardado en mysql comienza asi: aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1FQUFBRUNDQUlBQUFESUt5U
El transformado en la web así: /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwk
En el guardado no hay espacios ni tabulaciones y en el convertido por página si (Otra de las diferencias).
Creo que el problema debe estar en como guardo el array desde android studio a mysql.
Habrá alguna solución o prueba para hacer?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar