将通过 PIL 创建的图像保存到 django 模型 [英] Save image created via PIL to django model
本文介绍了将通过 PIL 创建的图像保存到 django 模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用以下代码成功创建并旋转了通过电子邮件上传到我服务器上的目录的图像:
I have successfully created and rotated an image that was uploaded via email to a directory on my server using the following code:
image = ContentFile(b64decode(part.get_payload()))
im = Image.open(image)
tempfile = im.rotate(90)
tempfile.save("/srv/www/mysite.com/public_html/media/images/rotate.jpg", "JPEG")
img = Photo(user=user)
img.img.save('rotate.jpg', tempfile)
img.save()
旋转的图像存在于目录中,但是当我尝试将该图像添加到我的模型时,它并没有保存.我错过了什么?任何帮助将不胜感激.
The rotated image exists in the directory, however when I try to add that image to my model, it is not saving. What am I missing? Any help would be greatly appreciated.
推荐答案
我用下面的代码解决了这个问题:
I solved the issue with the following code:
image = ContentFile(b64decode(part.get_payload()))
im = Image.open(image)
tempfile = im.rotate(270)
tempfile_io =StringIO.StringIO()
tempfile.save(tempfile_io, format='JPEG')
image_file = InMemoryUploadedFile(tempfile_io, None, 'rotate.jpg','image/jpeg',tempfile_io.len, None)
img = Photo(user=user)
img.img.save('rotate.jpg', image_file)
img.save()
我在这里找到了答案怎么做您将 PIL `Image` 转换为 Django `File`?.完美运行!!!
I found the answer here How do you convert a PIL `Image` to a Django `File`?. Works flawlessly!!!
这篇关于将通过 PIL 创建的图像保存到 django 模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文