소프트웨어 개발/Python

Saving Ndarray to InMemoryUploadedFile

늘근이 2015. 12. 31. 11:14

이미지를 조작하는 ndarray에서 모델에 저장하기 위해 inmemoryuploadedfile 형태로 바꿔야하는 경우가 있다. 


http://stackoverflow.com/questions/3723220/how-do-you-convert-a-pil-image-to-a-django-file


import StringIO


from django.core.files.uploadedfile import InMemoryUploadedFile


# Create a file-like object to write thumb data (thumb data previously created

# using PIL, and stored in variable 'thumb')

thumb_io = StringIO.StringIO()

thumb.save(thumb_io, format='JPEG')


# Create a new Django file-like object to be used in models as ImageField using

# InMemoryUploadedFile.  If you look at the source in Django, a

# SimpleUploadedFile is essentially instantiated similarly to what is shown here

thumb_file = InMemoryUploadedFile(thumb_io, None, 'foo.jpg', 'image/jpeg',

                                  thumb_io.len, None)


# Once you have a Django file-like object, you may assign it to your ImageField

# and save.

...



'소프트웨어 개발 > Python' 카테고리의 다른 글

InMemoryUploaded 파일 -> 수정 -> 모델 저장  (0) 2016.01.01
cannot write mode F as PNG  (0) 2016.01.01
Type확인  (0) 2015.12.31
업로드 처리  (0) 2015.12.29
멀티 파일 업로드  (0) 2015.12.29