python – 将通过PIL创建的图像保存到django模型

我已经使用以下代码成功创建并旋转了通过电子邮件上传到我的服务器上的目录的图像:

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()

旋转的图像存在于目录中,但是当我尝试将该图像添加到我的模型中时,它不会保存.我失踪了什么任何帮助将不胜感激.

解决方法

我用以下代码解决了这个问题:

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()

我在这里找到答案How do you convert a PIL `Image` to a Django `File`?.工作无瑕疵!

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。