Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
Gostaria de uma ajuda!
Vou tentar descrever o que estou tentando fazer
Tenho um INPUT que chama uma função Javascrit (onkeyup="teste()")que passa os parametros para uma página php com metodo GET.($teste=_$GET['teste'];)
O que o php recebe?
Ele recebe o nome de uma pessoa para realizar um SELECT no Banco
O que o php retorna?
Retorna a imagem do cidadão!
* OBS: Eu dou um echo para exibia aimagem - e no php direto ele me retorna a imagem , porém quando a função (teste()) recebe o retorno do PHP, ela não exibe a imagem (document.getElementById("ret_teste").innerHTML= xmlHttp.responseText;)
-> Se eu trocar o SELECT para retornar txt puro, a função funfa certinho, mas se retorna img... não funciona!
Pessoal o que eu poderia fazer? vendo que já procurei na net inteira e nada...
Agradeço a ajuda de TODOS
Obrigado
God Bless
PauloCauca
Teu campo no banco é blob?
>
Teu campo no banco é blob?
Isso mesmo JunioR-CWB , o campo é blob !!
>
Uma perguntinha,
Como você retorna essa imagem do php ?
<img src="img/imagem.jpg"> ???
As vezes o caminho pro php eh diferente do caminho do html..
ex.:
Seu html ta na pasta raiz e o caminho de imagem pra ele seria:"img/imagem.jpg" e seu php está em uma pasta php então o caminho da imagem seria "../img/imagem.jpg", tente passar o caminho inteiro da imagem pra ver se funfa..
Eh apenas um chute, num sei como está o seu código..
absssssss
Olá Carutcho obrigado pela contribuição !
Como o campo do banco de dados é blob, acredito que ele não cria um diretório para carregar a imagem, ele carrega o código em hexa na variável e monta a imagem de acordo com o código!!
Segue o cóg. php
include_once("conectadb.php");
$teste = $_GET['teste'];
$query="select * from user where user_name like '%$teste%'";
$select = mysql_query($query);
while ($linha = mysql_fetch_array($select)){
$img = $linha['user_img'];
echo $img;
}
--->>> Cod. javascript <<--
var inp_val = frm.inp_cont.value
var url="teste.php"
url=url+"?teste="+inp_val
url=url+"&sid="+Math.random()
xmlHttp.open("GET",url,true)
xmlHttp.onreadystatechange=stateChanged_r
xmlHttp.send(null)
function stateChanged_r()
{
document.getElementById('ret_teste').innerHTML = "<div align='center'><img src='./loader.gif'></div>";
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("ret_teste").innerHTML = xmlHttp.responseText; // O problema está aqui
}
}
}
Obrigado
Não sei o ajax aceita o valor hexa (blob), ou seja, será que ele transforma em imagem?
Na minha opnião não é necessário o uso de ajax com imagens. O próprio atributo src da tag img se encarrega de atualizar/buscar/mostrar.
Ex:
<input type="text" onkeyup="teste(this) ?/>
function teste(ipt) {
var v = ipt.value;
if ('' === v )
return;
var imagem = new Image();
var loading = document.getElementById('ret_teste');
loading.innerHTML = "<div align='center'><img src='./loader.gif'></div>";
imagem.onload = function() {
document.getElementById("ret_teste").innerHTML = imagem;
loading.innerHTML = '';
}
imagem.src = v;
}
Não testei mas este é o conceitoDesculpe a ignorância,
até pq eu nunca trabalhei com blob.
Porém vo da rum pitaco apenas por logica minha não tem fundamento.
Seguinte, o blob pelo q eu sei mais ou menos, você consegue jogar a imagem para dentro do banco certo ? eu acho que para você conseguir jogar essa imagem de volta para o HTML você teria q alocar ela em algum lugar (fisico) para que essa imagem tivesse um caminho para q você pudesse passar para src no html.
Acho que a logica da coisa seria você recuperar essa imagem do banco e re-criala fisicamente para poder mostrar depois para o usuário.
Posso estar falando besteira, porém eh so uma tentativa de dar uma luz, pq num pesquisei nada sobre o assunto antes de falar.
Absssssssss
>
Desculpe a ignorância,
até pq eu nunca trabalhei com blob.
Porém vo da rum pitaco apenas por logica minha não tem fundamento.
Seguinte, o blob pelo q eu sei mais ou menos, você consegue jogar a imagem para dentro do banco certo ? eu acho que para você conseguir jogar essa imagem de volta para o HTML você teria q alocar ela em algum lugar (fisico) para que essa imagem tivesse um caminho para q você pudesse passar para src no html.
Acho que a logica da coisa seria você recuperar essa imagem do banco e re-criala fisicamente para poder mostrar depois para o usuário.
Posso estar falando besteira, porém eh so uma tentativa de dar uma luz, pq num pesquisei nada sobre o assunto antes de falar.
Absssssssss
Ok obrigado pela contribuição,
Na realidade o BLOB ele armazena no banco em BINÁRIO, agora acredito que quando você recupera a imagem ela é montada em algum diretório temporário ou ela é carregada em memória RAM mesmo...
Abss
PauloCauca
>
Não sei o ajax aceita o valor hexa (blob), ou seja, será que ele transforma em imagem?
Na minha opnião não é necessário o uso de ajax com imagens. O próprio atributo src da tag img se encarrega de atualizar/buscar/mostrar.
Ex:
<input type="text" onkeyup="teste(this) ?/>
function teste(ipt) {
var v = ipt.value;
if ('' === v )
return;
var imagem = new Image();
var loading = document.getElementById('ret_teste');
loading.innerHTML = "<div align='center'><img src='./loader.gif'></div>";
imagem.onload = function() {
document.getElementById("ret_teste").innerHTML = imagem;
loading.innerHTML = '';
}
imagem.src = v;
}
Não testei mas este é o conceito
Obrigado pela contribuição Junior
Não funcionou com esta função então tentei recuperar a imagem assim:
document.getElementById("ret_teste").innerHTML = "<img src='teste.php'>";
então hoooww mostrou , mas não tem refreshh ele só mostra a primeira img que o teste.php retorna...
estou tentando ..
Abs
PauloCauca
Uma perguntinha,
Como você retorna essa imagem do php ?
<img src="img/imagem.jpg"> ???
As vezes o caminho pro php eh diferente do caminho do html..
ex.:
Seu html ta na pasta raiz e o caminho de imagem pra ele seria:"img/imagem.jpg" e seu php está em uma pasta php então o caminho da imagem seria "../img/imagem.jpg", tente passar o caminho inteiro da imagem pra ver se funfa..
Eh apenas um chute, num sei como está o seu código..
absssssss