Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ecos

Gravar e Recuperar Imagem

Recommended Posts

Galera.

Eu estou tentando gravar uma imagem no BD e recuperá-la... mas não consigo recuperá-la, logo penso que não consegui gravá-la.

Vejam:

$imagem = file_get_contents($_FILES['file-original']['tmp_name']);
$imagem_hex = bin2hex($imagem);
$ins = mssql_query("insert into values('$imagem_hex')");
	header ("Content-type: image/jpg");
	$sql = "select id, imagem from tabela";
	$exe = mssql_query($sql);
	$img_hex = mssql_result($exe, 0, 'imagem');
	$img_id = mssql_result($exe, 0, 'id');
	$pkg_bytes = pack("H" . strlen($img_hex), $img_hex);
	$pkg_bytes = imagecreatefromstring($pkg_bytes);
	imagejpeg($pkg_bytes,"image/".$img_id.".jpg",100);
	imagedestroy($pkg_bytes);
	echo "<img src='image/".$img_id.".jpg' alt='image' title='image'd/>";

E fica só o endereço da imagem como IMAGEM na tela.

 

O campo é tipo IMAGE na Tabela.

O que pode ser ?

 

--------------- Ponto de Mesclagem ---------------

 

ta dificil aqui

 

eu estou convertendo em base 64

depois desconverto e tento mostrar

mostra o caminho da imagem como imagem e nao a imagem

 

=\

Compartilhar este post


Link para o post
Compartilhar em outros sites

Limpei as conversas afiadas e paralelas do tópico para que a boa fluência do mesmo possa continuar.

 

A considerações:

 

Ecos, ninguém é obrigado a interpretar o SEU código a não ser VOCÊ mesmo. E a interpretação poderia ter sido feita por quem lê o código do tópico se o mesmo tivesse alguns comentários.

 

Se o seu problema de alguma forma gerou alguma dúvida ou teve duplo sentido (não estou dizendo que teve) cabe a você elucidar a quem pergunta aquilo que lhe foi questionado para que sua dúvida possa ser sanada.

 

KbeçãO, apesar de a intenção ter sido boa, em tentar endireitar a conversa, de fato não é muito adequado "violar" essa norma de bom comortamento. Por experiência própria, nesses casos pode acabar sobrando pra você ;)

 

Mas enfim, eu não uso SQL Server, não sei quais são os tipos de dados aceitos, mas a idéia seria escolher um que aceite bastante espaço, já que Base64, que acredito ser o mais apropriado para esse caso, aumenta em até 33% o tamanho daquilo que será convertido.

 

Eu acredito que seu problema esteja no fato de você estar enviando um header e ecoando depois.

 

Analise seu código. Você pré-define um cabeçalho, lista as informações do banco, gera a imagem e salva.

 

Em nenhum momento você precisou desse header(), já que está exibindo a imagem como uma tag HTML.

 

1. Experimente removê-lo e ver se a imagem aparece.

 

2. Se não aparecer, veja em que a variável de dentro da tag IMG está sendo traduzida. Se for o nome correto da imagem, verifique se a mesma está sendo gravada onde deveria.

 

3. Se nada funcionar, experiemente simplificar usando diretamente base64_encode() para codificar a imagem antes de salvar. Quando listar, use base64_decode()

 

Postem os resultados dos progressos e, se alguma das etapas funcionar, poste qual. Ou ainda, se conseguir resolver de outra forma, contribua com a solução sempre que possível.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não pedi pra ninguem interpretar meu código...

Eu pergunto uma coisa o cara responde outra... pela mor..

 

enfim

 

ja fiz isso tudo que você postou...antes de você postar.

eu nao fico esperando resposta do forum

eu pesquisei, debuiei os códigos

só consigo fazer isso funfar no mysql

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não poderia ser, talvez, limitação do banco de dados escolhido?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tem essa limitação no SQL Server.

Além do que só tem um campo pra salvar imagem que é o Image.

No MySQL tem o BLOB, LONGBLOB e os Kacete...

 

Agora não seiii

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Ecos, se não temos que interpretar seu código,

você não espera resposta em fórum, já pesquisou no google,

debugou seu código e viu que só rola no MySQL seria correto

dizer então que sua dúvida passa a ser "O que fazer com o SQL Server"

para que funcione assim como no MySQL, visto que você não tem dúvidas

quanto ao código PHP que desenvolve?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pq vcs moderadores insistem nos assuntos ? O Bruno já falou... daí vem outro ? Quem é o próximo ?

Já entendi beleza ?! Tá ? Acalmou boneca ? :S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Ecos eu não insisti em nada, apenas perguntei para confirmar se sua dúvida

seria o SQL Server.

 

Vou encarar sua resposta como um sim.

 

Estou movendo seu tópico para a sessão compatível com a sua dúvida.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.