[RESOLVIDO]Usar campo IMAGE em um blank

Boa tarde, estou verificando uma questão, um cliente quer poder alterar a foto de perfil no sistema, criei o formulário de update, o campo tipo IMAGE no banco e esta tudo ok nessa parte, porém não estou conseguindo fazer a conversão dos dados para imagem novamente na hora da leitura.

Tenho um menu feito em uma aplicação Blank usando PHP e HTML, usando as macros do SC eu leio o campo IMAGE do banco e salvo em uma variável, até ai tudo certo, uso SQLServer que salva a imagem usando hex, minha duvida é como converter essa valor para uma imagem que eu possa usar na minha aplicação. Estou procurando faz tempo e não encontrei ainda, acho q é algo simples, mas estou travado nisso.

Link com arquivo da imagem em hexadecimal: https://drive.google.com/file/d/1iUBYVMrIwGkUTGFtRV4SNmcovaXtIASB/view?usp=sharing

4 Curtidas

https://www.holadevs.com/pregunta/83584/converting-a-hexadecimal-string-to-image-with-php

1 Curtida

Bom dia @Gustavo_Friedrich, estava usando exatamente essa função, mas não esta funcionando, testei com outras também, mas nao retorna valor, segue como esta:

$sqlImg = ("Select UCImageUser
		From Sys_UCTabUsers
		where UCLogin = '[varglobal_Login]'");

sc_lookup(dadoImg, $sqlImg);

$data = {dadoImg[0][0]};

function hexToStr($hex, $string=''){
	for ($i=0; $i < strlen($hex)-1; $i+=2) 
		$string .= chr(hexdec($hex[$i].$hex[$i+1])); 
	return $string; 
}

$im = imagecreatefromstring(hexToStr($data));

if((!empty({dadoImg}))&&({dadoImg[0][0]}!='0x')&&({dadoImg[0][0]}!=NULL)){
	
	header('Content-Type: image">image/png'); 
	imagepng($im); 
	imagedestroy($im);
	
[ImagemUser] = $im ;
	}

else{
[ImagemUser] = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTZepucrdbX45Nyo48c9Ozw_UQriapBqFaKCsUlpmIq0rf8tY2cUlc1y3UqxPJx3z1RVSQ&usqp=CAU';
}

Valor do banco esta preenchido conforme o arquivo no primeiro post

4 Curtidas

Já utilizei esse código do tutorial e funcionou perfeitamente. Testei a converção do formato hexadecimal para imagem nesta página aqui => https://tomeko.net/online_tools/hex_to_file.php?lang=en e o conversor acusa erro. Se vc utilizar o código hexadecimal do tutorial nesse teste, ele gerará a imagem corretamente. Tens que verificar se sua imagem está de fato na forma hexadecimal ou se, de repente, esteja incompleta.

1 Curtida

Não sei bem o que estou fazendo de errado, o campo no banco é IMAGE, se eu usar um formulário do scriptcase, que puxa o valor pronto do banco, aparece a imagem corretamente, mas como preciso implementar no blank preciso fazer essa leitura na mão, se eu pego o valor do banco e tento converter de hex pra imagem ou de base64 para imagem ele da erro, em ambas as situações, não sei se ele usa um armazenamento diferente no SQL Server, mas pelo o que eu vi era pra ser hex mesmo. Alguém já fez a leitura de imagem no banco na mão no SC?

4 Curtidas

Continuo sem sucesso nessa questão

4 Curtidas

Eu não entendi a necessidade.

1 Curtida

Tenho um campo do tipo IMAGE no banco sqlserver, fazer o insert e update dele nos formulários do SC funcionam perfeitamente, mas tenho uma pagina Blank que preciso usar essa imagem salva no banco, porém não estou conseguindo ler e utilizar ela, simplesmente não reconhece como imagem

4 Curtidas

Realmente acho que seja algo simples, mas não consegui localizar aonde esta o erro na lógica

4 Curtidas

Tentei usar o que foi passado na pendencia Colocar imagem do usuario logado no cabeçalho do menu, estou precisando fazer a mesma coisa que foi descrito nesse post, usar no cabeçalho de uma blank uma imagem do banco, porém nao estou tendo sucesso, segue como esta meu código

$sql = "Select UCImageUser

        From Sys_UCTabUsers

        where UCLogin = '[varglobal_Login]'";

sc_lookup(rs, $sql);

if (isset({rs[0][0]})) {

    $varImg=base64_encode({rs[0][0]});

    [usr_logo] = "<img src=\"data:image/png;base64,$varImg\" class=\"user-image\" alt=\"User Image\">";

    [usr_logo2] = "<img src=\"data:image/png;base64,$varImg\" class=\"img-circle\" alt=\"User Image\">";

} else {

    [usr_logo] = "<img src=\"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTZepucrdbX45Nyo48c9Ozw_UQriapBqFaKCsUlpmIq0rf8tY2cUlc1y3UqxPJx3z1RVSQ&usqp=CAU\" class=\"user-image\" alt=\"User Image\">";

    [usr_logo2] = "<img src=\"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTZepucrdbX45Nyo48c9Ozw_UQriapBqFaKCsUlpmIq0rf8tY2cUlc1y3UqxPJx3z1RVSQ&usqp=CAU\" class=\"img-circle\" alt=\"User Image\">";

}
1 Curtida

Consegui ajustar, estava com problemas para salvar a imagem na verdade, depois que corrigi ficou tudo ok, agradeço todos que ajudaram

3 Curtidas