Bom dia, estou tentando acessar um arquivo pdf que se encontra no servidor via encode64 para realizar a codificação, porem estou sendo retornado do erro 'assert at file' na hora de usar o encode64. Porem, esse arquivo consigo acessar normalmente via openfile e ate mesmo escrever. Usando o diretorio da rede.
Leonardo, como você fez o encode64 desse arquivo? Consegue colocar o exemplo?
— Daniel Mendes 05 de Nov de 2020Leonardo, você está em qual sistema operacional? Essa thread que gera erro, tem interface ou é u job/rest/soap?
— Daniel Mendes 05 de Nov de 2020WebService em SOAP
— Leonardo Luiz do Nascimento Dantas Filho 05 de Nov de 2020Faz um ConOut da função FILE antes de tentar usar o Encode64 e vê qual é o resultado, por favor. Seria algo assim:
— Daniel Mendes 05 de Nov de 2020ConOut("Encode64 File: ", File(cArquivo))
Não, é uma string contendo o caminho.
— Leonardo Luiz do Nascimento Dantas Filho 05 de Nov de 2020O erro diz o contrário, faz um conout do conteúdo da cArquivo e também um ValType dela, pois esse erro ficou bem estranho.
— Daniel Mendes 05 de Nov de 2020Já tive o mesmo problema, acho que é um erro na função Encode64 quando se passa o path do arquivo. Acabei gravando o conteúdo do arquivo em uma variável e passando como parâmetro para a função. Quando vc passa o conteúdo não tem esse problema.
— Everton Alves 12 de Nov de 2020Resolvi de mesmo modo que o everton, creio que seja um erro da função Encode64 mesmo. Segue como consegui solucionar:
if cArquivo > -1 // abriu arquivo com sucesso cBuffer:=Space(nEof:=Fseek(cArquivo,0,2)) Fseek(cArquivo,0,0) // posiciona no inicio do arquivo fRead(cArquivo,cBuffer,nEof) // lê o arquivo e armazena em cBuffer fClose(cArquivo) // fecha o arquivo endif ::dadosret:PDF_64 := Encode64(cBuffer)/
— Leonardo Luiz do Nascimento Dantas Filho 12 de Nov de 2020