将通过PIL创建的图像保存到django模型 [英] Save image created via PIL to django model

查看:120
本文介绍了将通过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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆