HCM - Regra - Como baixar arquivo (Foto) armazenado na base de dados
Dúvida
Como baixar o arquivo (Foto) armazenado na base de dados do módulo Administração de Pessoal?
Solução
O exemplo abaixo demonstra como recuperar um anexo armazenado em um campo do tipo BLOB na base de dados e gravá-lo em um diretório do sistema operacional.
Neste cenário, é utilizada como exemplo a foto do colaborador armazenada na tabela R034FOT, campo FotEmp.
definir alfa vCursor;
definir alfa vFoto;
definir numero vArquivo;
definir numero vTamanho;
SQL_Criar(vCursor);
@Seleciona a foto do colaborador no banco de dados@
SQL_DefinirComando(vCursor, "select FotEmp from R034FOT where NumEmp=1 and TipCol=1 and NumCad=1");
SQL_AbrirCursor(vCursor);
se(SQL_EOF(vCursor) = 0) @Verifica se encontrou@
{
@Recupera a foto (é um campo blob)@
SQL_RetornarBlob(vCursor, "FotEmp", vFoto);
@A foto será salva no diretório c:/temp com o nome FotoCol.bmp@
vArquivo = Abrir("c://cli//FotoCol.bmp", Gravar);
@Armazena na variável vTamanho a quantidade de bytes da imagem@
TamanhoStr(vFoto, vTamanho);
@Grava a imagem no disco@
Gravar(vArquivo, vFoto, vTamanho);
@Necessário fechar o arquivo@
Fechar(vArquivo);
@Foto gravada com sucesso@
}
SQL_FecharCursor(vCursor);
SQL_Destruir(vCursor);
Rótulos:
Anexo, Documento, Arquivo