4 MINDS

4MINDS Gestão de Conhecimento

Python + DJango + File to Base64 GZip



Como transformar um arquivo em Base64 GZip. Isso normalmente é usado para transportar arquivos entre cliente e servidores na web, como imagens, pdf e etc..

import urllib, cStringIO, base64
from gzip import GzipFile

file = open(pdf_file_path) # arquivo para ser compactado
        
pdf_gzip = cStringIO.StringIO()
gzip_content = GzipFile(mode='wb', fileobj=pdf_gzip) # informa memory stream para compactação em memória
gzip_content.write(file.read())  # escreve conteudo para compactação
gzip_content.close()
       
base64_gzip_content = base64.b64encode(pdf_gzip.getvalue()) # lê conteúdo compactado e converte para base64