使用PIL在Django网站上旋转通过邮件上传的图像
我的网站允许用户通过电子邮件上传照片到他们的相册,这个功能运行得很好。不过,使用iPhone拍摄的竖屏照片却无法正确旋转。我想在“邮件过滤”过程中使用PIL来旋转这些照片。以下是我用来成功从电子邮件中获取图像并保存到我的Django模型的代码。
image = ContentFile(b64decode(part.get_payload()))
img = Photo(user=user)
filename = part.get_filename().lower()
img.img.save(filename, image)
img.save()
*更新后的代码,成功将临时图像旋转并保存到本地目录 *
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()
现在,我想把这个“临时图像”保存到我的模型中。不幸的是,它没有保存。任何建议都将非常感谢。
1 个回答
1
这个链接 http://effbot.org/imagingbook/image.htm 明确说明了 rotate() 方法会返回一个新的图像实例。
文档里没有提到关于原地操作的内容。难道没有吗?