在Django中,是否可以在上传的图像保存到磁盘之前更改(调整大小)上传的图像?我宁愿不使用任何额外的应用程序来做到这一点。Django在上传过程中调整图像大小
回答
我很生气,我不能在这里和那里找到一个完整的工作示例,仅位。我设法把解决方案放在一起。这里是完整的例子,我把它放在窗体的clean()方法中(你也可以用完全相同的方式重写模型save()方法 - 改变ImageField的文件属性)。
import StringIO
from PIL import Image
image_field = self.cleaned_data.get('image_field')
image_file = StringIO.StringIO(image_field.read())
image = Image.open(image_file)
w, h = image.size
image = image.resize((w/2, h/2), Image.ANTIALIAS)
image_file = StringIO.StringIO()
image.save(image_file, 'JPEG', quality=90)
image_field.file = image_file
感谢这个例子,但我不明白一切......什么是“信息”?否则,在python 3.x它是io.StringIO(...) – HydrUra 2013-09-27 10:15:53
您可以使用PIL并在YourModel.save()方法中调整图像大小。
例子:
http://djangosaur.tumblr.com/post/422589280/django-resize-thumbnail-image-pil
http://davedash.com/2009/02/21/resizing-image-on-upload-in-django/
你有代码示例吗? – johndoevodka 2013-03-20 09:36:47
是的,在我的帖子中添加:) – Efrin 2013-03-20 09:50:29
+1推荐PIL – Amyth 2013-03-20 11:36:57
- 1. Django图像上传和调整大小
- 2. Django:上传前调整图像大小
- 3. 调整上传图像的大小 - PHP
- 4. 调整图像大小并上传
- 5. Symfony2 - 上传后调整图像大小
- 6. 上传后调整图像大小!
- 7. Symfony2:调整上传图像的大小
- 8. C# - 上传后调整图像大小
- 9. 上传的WordPress图像大小调整
- 10. symfony图像上传调整大小
- 11. php在上传时或上传前调整图像大小
- 12. 在屏幕上自动调整图像大小调整大小
- 13. 图像上传小部件,调整图像大小然后上传
- 14. Django频道调整图像大小
- 15. 上传uploadify通过php调整图像大小
- 16. 通过express js上传并调整图像大小问题
- 17. 在Java中调整图像大小以缩小图像大小
- 18. 在Drupal中使用imagecopyresampled调整上传图像的大小
- 19. 在Aspx中上传和调整图像大小
- 20. 在MVC 6中调整上传图像的大小6
- 21. 用PHP在GD中调整图像大小以上传到S3
- 22. 调整图像大小在画布上
- 23. CGAffineTransformMakeRotation()在iPad上调整图像大小?
- 24. 在手机上调整图像大小
- 25. 在onDoubleTapEvent上调整图像大小
- 26. PHP图像上传/调整大小创建黑色图像
- 27. 图像上传后图像大小调整php内存限制
- 28. 图像上传时调整图像的大小asp.net
- 29. 使用Javascript/AngularJS上传图像大小调整后的图像
- 30. php图片调整大小不能在图像上传
[你尝试过什么?](http://whathaveyoutried.com) – arulmr 2013-03-20 09:33:03
使用PIL作业:http://stackoverflow.com/questions/273946/how-do-i-resize-an -image-using-pil-and-maintain-its-aspect-ratio – 2013-03-20 09:34:17
你需要使用外部库或应用程序来实现,因为django没有任何预定义的方法来实现你想要做的事情。 – Amyth 2013-03-20 11:38:13