Pular para conteúdo

Decodificação de Base64 para Arquivo

O Base64 é um método de codificação para transferência de arquivos. O InvoiCy faz uso desse método para retornar os arquivos XML e PDF via Web Service, no momento do envio, cancelamento, consulta, e demais requisições.

O emissor ainda tem a possibilidade de determinar qual forma de retorno deseja receber, sendo que tanto para o arquivo XML como para PDF as opções são as seguintes: Base64, Link para download, Base64 e Link ou Não retornar.

Ao escolher a opção "Link para download" será retornado um link para efetuar o download do arquivo (XML e PDF), onde ao clicar no link será possível baixar e salvar os arquivos fisicamente para a sua máquina. Destacando que, será permitido o download dos arquivos apenas se o documento já tenha sido persistido para a base de dados do InvoiCy.

Já ao optar pelo retorno em Base64, não será necessário efetuar download de nenhum arquivo. O próprio retorno do Web Service irá conter o arquivo XML e PDF codificado para Base64, onde o emissor poderá copiar o conteúdo desse texto e decodificá-lo para gerar os arquivos PDF e XML. O retorno em Base64 não depende do processo de persistência do InvoiCy, onde mesmo sem estar persistido o documento, é possível decodificar e visualizar o conteúdo do Base64 retornado.

Veja abaixo um exemplo de implementação em linguagem C# de decodificação de Base64 para arquivo:

private void fromBase64(string base64, string caminho_arquivo)
{
    byte[] binaryData = Convert.FromBase64String(base64);

    using (System.IO.FileStream outFile = new System.IO.FileStream(
        caminho_arquivo,
        System.IO.FileMode.Create,
        System.IO.FileAccess.Write))
    {
        outFile.Write(binaryData, 0, binaryData.Length);
    }
}