Zac*_*ach 10 python django django-models python-imaging-library
更具体地说,我想更改通过Django ImageField上传的图像的文件类型.
我目前的想法是创建一个自定义ImageField并覆盖save方法来操作该文件.
因为PIL Image实例,我无法获取内存文件.
谢谢您的帮助.
Xav*_*osa 19
你试过StringIO吗?
参见文档http://effbot.org/imagingbook/introduction.htm#more-on-reading-images
#Reading from a string
import StringIO
im = Image.open(StringIO.StringIO(buffer))
Run Code Online (Sandbox Code Playgroud)
sco*_*fey 15
请注意,Django ImageField继承了该open方法FieldFile.这将返回一个可以传递给PIL的流对象Image.open(用于Image从图像流创建对象的标准工厂方法):
stream = imagefield.open()
image = Image.open(stream)
stream.close()
# ... and then save image with: image.save(outfile, format, options)
Run Code Online (Sandbox Code Playgroud)
请参阅PIL Image文档.