在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. 调整上传图像的大小 - PHP
- 2. symfony图像上传调整大小
- 3. 调整图像大小并上传
- 4. Symfony2:调整上传图像的大小
- 5. 上传的WordPress图像大小调整
- 6. 上传后调整图像大小!
- 7. 图像上传小部件,调整图像大小然后上传
- 8. 通过express js上传并调整图像大小问题
- 9. Django频道调整图像大小
- 10. 在Drupal中使用imagecopyresampled调整上传图像的大小
- 11. 在Aspx中上传和调整图像大小
- 12. 在MVC 6中调整上传图像的大小6
- 13. 在onDoubleTapEvent上调整图像大小
- 14. 调整图像大小在画布上
- 15. CGAffineTransformMakeRotation()在iPad上调整图像大小?
- 16. 图像上传时调整图像的大小asp.net
- 17. php图片调整大小不能在图像上传
- 18. 如何在上传过程中调整照片大小?
- 19. 通过鼠标调整图像大小
- 20. kohana 3.0在上传前调整图像大小?
- 21. php图像调整大小并在上传时转换为jpg
- 22. 在vb上传之前调整图像大小
- 23. CURL在上传到Imgur之前调整图像大小
- 24. 在上传之前调整图像大小
- 25. 在文件上传时调整图像大小 - C#
- 26. 更改代码以在上传时调整图像大小
- 27. 如何在上传到coudinary之前调整图像大小?
- 28. 在上传到目录之前调整图像大小
- 29. 调整大小和上传图像流中的NodeJS
- 30. 上传后调整图片大小
[你尝试过什么?](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