Retorno de imagem Banco de Dados Json
Olá a todos
Inicialmente para esclarecimento, estou tentando cria um app hibrido html, javascript e css.
objetivamente, meu obstáculo é exibir na tela do usuário seu avatar, que esta em um diretório do banco de dados Mysql no meu computador.
Eu consigo enviar a imagem por Json com o metodo FormData sem problemas. Na hora de retornar o login com os dados do usuário ele exibe as informações que armezeno com localStorage.setItem. Mas a imagem ele exibe somente o nome com o caminho do arquivo.
Já pesquisei muito, quebrei a cabeça e não consegui. Se poderem me ajudar agradeço.
códigos:
Faz login
$(document).ready(function(){
$.ajax({
type:'post', //Definimos o método HTTP usado
dataType: 'json', //Definimos o tipo de retorno
url: 'http://xxxxx/classes/vlogin.php', //Definindo o arquivo onde serão buscados os dados
data:{
nemail: email,
nsenha: senha,
},
success: function(dados){
if (dados == false){
$("#btn").show();
$("#menssagem_login").html("Login ou senha Invalidos");
}
else{
localStorage.setItem('id', dados[0]);
localStorage.setItem('nome', dados[1]);
localStorage.setItem('email', dados[2]);
localStorage.setItem('estado', dados[3]);
localStorage.setItem('senha', dados[4]);
localStorage.setItem('tipo', dados[5]);
localStorage.setItem('data', dados[6]);
localStorage.setItem('imagem', dados[7]);
// var obj = JSON.parse(dados);
// var obj = jQuery.parseJSON(dados); //tratar os dados
// var obj = $.parseJSON(dados); //tratar os dados
window.location = "estrutura/perfil.html";
console.log(dados);
}
}
});
});
Função para exibir o perfil
function carrega_perfil(){
var nome = localStorage.getItem('nome');
var email = localStorage.getItem('email');
var estado = localStorage.getItem('estado');
var tipo = localStorage.getItem('tipo');
var data = localStorage.getItem('data');
var imagem = localStorage.getItem('imagem');
document.getElementById('status').innerHTML=nome+"<br>"+email;
//document.getElementById('logo').innerHTML=imagem;
document.getElementById('avatar').innerHTML= "<img src="+imagem+" />";
console.log(nome);
}
PHP do servidor
<?php
header('Access-Control-Allow-Origin: *'); // libera acesso para ajax
header('Content-Type: application/json; charset=utf-8');
$email = $_POST['nemail'];
$senha = $_POST['nsenha'];
$pasta = 'fotos/';
include "conexao.php";
$link = conexao();
$sql = "SELECT * FROM usuario WHERE email = '$email' AND senha = '$senha' AND ativo = 0";
$resultado = mysqli_query($link, $sql) or die (mysqli_error($link));
$vazio = mysqli_num_rows($resultado);
if($vazio == ''){
echo json_encode(false);
}
else{
$registro = mysqli_fetch_array($resultado);
// $registro = mysqli_fetch_object($resultado);
// $imagem1 = scandir($pasta,$imagem);
// $lista_dir = scandir($pasta);
// $img;
// foreach ($lista_dir as $registro['imagem']) {
// $img;
// }
$id = $registro['id'];
$nome = $registro['nome'];
$email = $registro['email'];
$estado = $registro['estado'];
$senha = $registro['senha'];
$tipo = $registro['tipo'];
$data = $registro['data'];
$imagem = $pasta.$registro['imagem'];
// $imagem= $_FILE[$pasta][ $registro['imagem']];
// $imagem= base64_encode($imagem);
$retorno= array($id,$nome,$email,$estado,$senha,$tipo,$data,$imagem);
echo json_encode($retorno);
// echo json_encode($registro);
}
?>
Tem bastante coisa comenta nos códigos, pois tentei muita coisa
AbraçoDiscussão (1)
Carregando comentários...