Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Encode64 não funciona com imagem

Ocorrência
Ao tentar converter uma imagem para a base 64 p/ enviar via API, poderia me passar uma forma de converter uma imagem do tipo .jpeg para base 64?

A função Encode 64 está com problema?

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.80

Causa
Esse recurso de conversão de um arquivo, não esta disponível, conforme a documentação

ENCODE64

Os parâmetros marcados com (*) só estão disponíveis para versões superiores a apenas nas versões 17.1.0.0 ou 17.2.1.0 ou superior.


Solução
Segue exemplo para converter uma imagem para BASE64 utilizando funções de manipulação de arquivos.

Manipulação de arquivos, discos e IO

#Include 'Protheus.ch'
#include "Fileio.ch"

User Function tGzip()
Local cTexto := ""
Local aFiles := {} // O array receberá os nomes dos arquivos e do diretório
Local aSizes := {} // O array receberá os tamanhos dos arquivos e do diretorio

ADir("C:\tmp\img.jpg", aFiles, aSizes)//Verifica o tamanho do arquivo, parâmetro exigido na FRead.

nHandle := fopen('C:\tmp\img.jpg' , FO_READWRITE + FO_SHARED )
cString := ""
FRead( nHandle, cString, aSizes[1] ) //Carrega na variável cString, a string ASCII do arquivo.

cTexto := Encode64(cString) //Converte o arquivo para BASE64

fclose(nHandle)

//Cria uma cópia do arquivo utilizando cTexto em um processo inverso(Decode64) para validar a conversão.
nHandle := fcreate("C:\tmp\img2.jpg")
FWrite(nHandle, Decode64(cTexto))
fclose(nHandle)

Return
Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _