def foto_adicionar_ajax(request, id_evento): ''' @foto_adicionar_ajax: Adicionando as imagens Via Ajax para envio de multiplas imagens ''' from django.core.files.storage import default_storage from django.core.files.base import ContentFile import time import base64 # Baixando a foto para o Media temporariamente para fazer a conversão para base64 arquivo = request.FILES['Filedata'] arquivo_nome = 'foto-%s.jpg' % (time.time()) path = default_storage.save(arquivo_nome, ContentFile(arquivo.read())) # Gerando o base64 a partir da foto foto_base64 = base64.b64encode(default_storage.open(path).read()) # Apagando a foto do local temporario default_storage.delete(path) evento = Evento.objects.get(id=id_evento) fotop = '%s%s' % ('data:image/png;base64,', trataImagem('fotop', foto_base64, 'minimo', 140, 140)) fotog = '%s%s' % ('data:image/png;base64,', trataImagem('fotog', foto_base64, 'minimo', 620, 427)) # Criando as fotos evento.fotos_evento.create(fotop=fotop, fotog=fotog,autor="Lagos Eventos") return HttpResponse(True)
def clean_foto(self): ''' @clean_foto: Altera o tamanho da imagem padronizando o tamanho da mesma ''' foto = self.cleaned_data['foto'] if foto != '': # Separando o MimeType da imagem da String base64 mime_type, foto_base64 = self.cleaned_data['foto'].split(',') # Trantando a Imagem e gerando a nova String Base64 #if local == 'Lateral': # Minimo W:204 e H:233 #nova_foto = trataImagem('fotodestaque',foto_base64,'minimo',204,255) #else: #Minimo W:1175 e H:448 nova_foto = trataImagem('foto_slider',foto_base64,'minimo',1920,500) return str('%s,%s') % (mime_type,nova_foto) else: mime_type = '' foto_base64 = '' nova_foto = '' return ''
def clean_foto_g(self): ''' @clean_fotog: Altera o tamanho da imagem Grade padronizando o tamanho da mesma ''' foto = self.cleaned_data['foto_g'] if foto != '': # Separando o MimeType da imagem da String base64 mime_type, foto_base64 = foto.split(',') # Trantando a Imagem e gerando a nova String Base64 # Minimo W:620 e H:427 nova_foto = trataImagem('fotog', foto_base64, 'minimo', 836, 561) return str('%s, %s') % (mime_type, nova_foto) else: mime_type = '' foto_base64 = '' nova_foto = '' return ''
def clean_foto_m(self): ''' @clean_fotom: Altera o tamanho da imagem Destaque padronizando o tamanho da mesma ''' foto = self.cleaned_data['foto_m'] if foto != '': # Separando o MimeType da imagem da String base64 mime_type, foto_base64 = foto.split(',') # Trantando a Imagem e gerando a nova String Base64 # Minimo W:140 e H:86 nova_foto = trataImagem('fotom', foto_base64, 'minimo', 463, 463) return str('%s, %s') % (mime_type, nova_foto) else: mime_type = '' foto_base64 = '' nova_foto = '' return ''