Campo LongBlob consulta [RESOLVIDO]

Pessoal, estou com a seguinte necessidade:

Tenho uma consulta de uma tabela em que eu gravo documentos que podem ser: xls, xlsx, doc, docx, pdf, jpg ou png.

Bom, eu consigo fazer com que faça o download sempre desses arquivos, mas meu cliente quer que abra no navegador pelo menos o pdf, jpg e png.

Alguma dica de como fazer isso? Já pesquisei muito aqui no fórum e no google mas não consegui encontrar nada que pudesse me ajudar nessa questão.

Para deixar mais completo tentei fazer desta forma mas não funciona:

$nom_doc = explode(".", {nome_documento});
if ($nom_doc[1] == 'jpg'){
	{doc} = '<a href="data:image/jpeg;base64,' . base64_encode({documento}) . '" target="_blank">
	             <img height ="20" src="data:image/jpeg;base64,' . base64_encode({documento}) . '" />
			 </a>';
}else if ($nom_doc[1] == 'png'){
	{doc} = '<a href="data:image/png;base64,' . base64_encode({documento}) . '" target="_blank">
	             <img height ="20" src="data:image/png;base64,' . base64_encode({documento}) . '" />
			 </a>';
}else if ($nom_doc[1] == 'pdf'){
	{doc} = '<a href="'.base64_encode({documento}).'" target="_blank">'
		         .{nome_documento}.'
			 </a>';
}else{
	{doc} = "<a href=\"#\">".{nome_documento}."</a>";
}

Importante:
No caso das imagens, eu consigo mostrar as miniaturas, mas o link no a href, não funciona.

Grato!!

Já fisto com o pdf… faz uma adaptação pra você…

$id = [VAR_NOT]; //VARIAVEL COM ID

//VARIÁVEL $caminho tem lugar onde guarda os arquivos
$caminho = $this->Ini->path_doc;

//FAZ O LOOKUP E TRAZ O ARQUIVO EM BINARIO
$sql = “SELECT nome_arquivo FROM documento WHERE id=”.$id;
sc_lookup(rs,$sql);

//SETA HEADER QUE O ARQUIVO É PDF
header(‘Content-Type: application/pdf’);

//LOCALIZA O NOME DO ARQUIVO NO BANCO
$arquivo = ({rs[0][0]});

$completo = $caminho."/".$arquivo;

//PEGA O BINARIO

$fp = fopen($completo, ‘rb’);
$content = fread($fp, filesize($completo));

print($content);

Joelton, obrigado pelo retorno. Mas o meu arquivo está sendo salvo na tabela e não no servidor. Aí que está o meu problema

Dá uma olhada deste tópico e faz a junção do que eu te passei e o do tópico…

http://www.scriptcase.com.br/forum/index.php/topic,8618.15.html

Resolvido da seguinte forma pessoal:

Na consulta, fiz um link para uma blank onde eu faço isso abaixo:

$sql = "SELECT documento, nome_documento "
	 . "FROM documento "
	 . "WHERE codigo = " . $cod_documento;
sc_lookup(rs, $sql);

if (isset({rs[0][0]})){
	$nom_doc = explode(".", {rs[0][1]});
	
	if ($nom_doc[1] == 'pdf'){
		// cabeçalho identificador para o navegador
		header('Pragma: public');
		header('Expires: 0');
		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
		header('Content-Type: application/pdf');
		header('Content-Transfer-Encoding: binary');
		header('Content-Length: '.strlen({rs[0][0]}));

		// faz saída para o navegador
		print {rs[0][0]};
	}else if ($nom_doc[1] == 'jpg'){
		echo '<img src="data:image/jpeg;base64,' . base64_encode({rs[0][0]}) . '" />';
	}else if ($nom_doc[1] == 'png'){
		echo '<img src="data:image/png;base64,' . base64_encode({rs[0][0]}) . '" />';
	}else if ($nom_doc[1] == 'xls' || $nom_doc[1] == 'xlsx'){
		$tipo = "vnd.ms-excel";
	}else if ($nom_doc[1] == 'doc' || $nom_doc[1] == 'docx'){
		$tipo = "msword";
	}


	if (!empty($tipo)){
		header("Content-type: application/".$tipo);
		header("Content-Disposition: attachment; filename=".{rs[0][1]});
		echo {rs[0][0]};
	}
}

No caso acima, quando for png, jpg ou pdf, ele mostra no browser. Para os demais ele força o download.

Bom dia! estou tentando consultar A SITUACAO CADASTRAL DO CPF E NAO ESTOU CONSEGUINDO. POIS APARECE A PALAVRA RECAPTCHA. O QUE FAZER?

Oi???