Ir para o conteúdo
ou

Software livre Brasil

Minha rede

 Voltar a Planeta do A...
Tela cheia Sugerir um artigo

Luís Henrique : Django: como salvar no Amazon S3 uma imagem pela URL

5 de Agosto de 2013, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 69 vezes

Aqui vai uma dica bem simples para quem utiliza o Amazon S3 e precisa salvar imagens obtidas de alguma URL. Em primeiro lugar, recomendo o uso do django-storages, que faz parte do django-skel (que eu também recomendo).

Esse código funciona com outros storages, mas eu testei apenas com o storage padrão (local) e S3BotoStorage. Qualquer comentário a respeito de outros storages será muito bem-vindo. ;)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from django.core.files.storage import default_storage
from django.core.files.base import ContentFile
 
import os
import uuid
import urllib
 
 
def save_image_from_url(url):
 
    path = 'uploads/'
 
    try:
        filename = os.path.basename(url)
        extension = os.path.splitext(filename)[1]
        format = uuid.uuid1().hex + extension
        path = os.path.join(path, format)
 
        f = urllib.urlopen(url)
 
        saved = default_storage.save(path, ContentFile(f.read()))
 
        return saved
 
    except IOError, e:
        print e

Utilizei o uuid1 para gerar um nome de arquivo único. Qualquer dúvida sinta-se à vontade para perguntar.

Também criei um Gist com esse código: https://gist.github.com/luish/6127082.

Compartilhe: Print del.icio.us Facebook Google Bookmarks email PDF Twitter Add to favorites RSS Identi.ca


Fonte: http://luishenrique.org/blog/posts/django-como-salvar-no-amazon-s3-uma-imagem-pela-url

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.