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);
}
}