2016-04-05 18 views
0

Flickr'a bir dosya yükleyen bir sınıfa sahibim. Dosya,
'InMemoryUploadedFile' türündendir.Flickr API'sı için bir fomat'a bir InMemoryUploadedFile django nasıl dönüştürülür?

Verileri, 'InMemoryUploadedFile' dosyasında flickr'ın API'sine nasıl dönüştürüleceğini veya aktarılacağını bilmek ister misiniz?

Örn:

{'photo': ('image.jpg', <InMemoryUploadedFile: image.jpg (image/jpeg)>)} 

yükle API: https://www.flickr.com/services/api/upload.api.html

Hata Kodu

<?xml version="1.0" encoding="utf-8" ?> 
<rsp stat="fail"> 
    <err code="4" msg="Filesize was zero" /> 
</rsp> 

cevap

2

InMemoryUploadedFile bir dosya nesnenin etrafındaki wrapper olduğunu. Dosya nesnesine file özniteliğini kullanarak erişebilirsiniz. Yani, örnekte, Flickr API bu geçen deneyin:

{'photo': my_in_memory_file.file} 

Bu işe yaramazsa, isteği göndermek için kullandığınız kod etrafında daha detaylı soruyla düzenleyin. InMemoryUploadedFile onbject içinde

+0

teşekkür ederiz. Ama döner: {'photo': ('image.jpg', 0x10dbefa70><_io.BytesIO nesnesi)} – user3613750

+0

\t user3613750

+0

Sorunuzu kullandığınız kodla günceller misiniz? '{' Photo ': (' image.jpg ', <_io.BytesIO nesnesi: 0x10dbefa70>)} 've çektiğiniz kodu API'ye göndermek için kullandığınız kod. – spiffyman

1

veri ekstre edilmiş ve ile başarılı bir şekilde Flickr'e geçirilmiştir:

import StringIO 
file.seek(0) 
file_handle = StringIO.StringIO(file.read()) 
{'photo': ('image.jpg', file_handle)} 

Teşekkür

+0

Python 3 için geçerli değildir. –

İlgili konular