[DPE-TO] Baixar e converter imagens em data:image ao salvar GED
Ainda falta identificar corretamente o mimetype do arquivo baixado
Verificar melhor momento para fazer a conversão, como sugestão o "Liberar para Assinatura" para garantir que o conteúdo convertido seja o mesmo apresentado no editor do GED.
Script para conversão:
import base64
import lxml.html
import requests
from django.core.validators import URLValidator
from djdocuments.models import Documento
def convert_img_url_to_img_data(el):
for child in el:
convert_img_url_to_img_data(child)
if el.tag == 'img':
img_url = el.get('src')
validate_url = URLValidator()
try:
validate_url(img_url)
except:
pass
else:
img_data = requests.get(img_url).content
img_data = base64.b64encode(img_data).decode()
img_src = f'data:image/png;base64,{img_data}'
el.set('src', img_src)
ged = Documento.objects.get(id=137969)
html = lxml.html.fromstring(ged.conteudo)
convert_img_url_to_img_data(html)
ged.conteudo = lxml.html.tostring(html).decode()
ged.save()
Edited by Lucas Abreu