Python + DJango + File to Base64 GZip

Identificador: 11528
Autor: Ricardo Bocchi   segunda-feira, Dia 1 de maio de 2023, às 02:52:52 horas
Revisado Por:    segunda-feira, Dia 15 de agosto de 2016, às 19:17:33 horas
Visualização: Todos

Pontos: 0   Acessos: 4607


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