当前位置: 首页 > 面试题库 >

如何使用ImageField模型调整通过Django上传的图像文件的大小?

慕志泽
2023-03-14
问题内容

调整通过Django表单上传的图像文件的大小最直接的方法是ImageField什么?


问题答案:

我为找不到完整的工作示例而烦恼,只能在这里和那里找到一些。我设法自己解决了问题。这是完整的示例,我将其放在表单的clean()方法中(你也可以以完全相同的方式覆盖模型save()方法-更改ImageField的file属性)。

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


 类似资料:
  • 问题内容: 我是Django(和Python)的新手,在尝试使用其他人的应用程序之前,我一直在尝试自己做一些事情。我在理解事物在Django(或Python)的执行方式中“适合”何处时遇到了麻烦。我要解决的问题是上传图片后如何调整图片大小。我已经很好地设置了模型并插入了admin,并且图像可以很好地上传到目录: 我现在遇到的麻烦是获取该文件并将新文件制作为缩略图。就像我说的那样,我想知道如何在不使

  • 问题内容: 我需要测试我的Django应用程序的Photo模型。如何使用测试图像文件模拟ImageField? tests.py 问题答案: 对于将来的用户,我已经解决了这个问题。您可以使用实例来模拟。 test.py

  • 问题内容: 我想在上传前调整图片(Pillow)的大小,我在下面编写代码,但是不起作用! 并得到错误: `AttributeError at /myapp/list/ _committed Request Method: POST Request URL: http://127.0.0.1:8000/myapp/list/ Django Version: 1.8 Exception Type: A

  • 问题内容: 我一直在搜索google,只遇到过降低高度/宽度或通过CoreImage如何编辑UIImage外观的库。但是我还没有看到或找到一个库,这篇文章解释了如何减小图像大小,因此在上载时,它不是完整的图像大小。 到目前为止,我有这个: 并且正在发送12MB的照片。如何将其减小到1mb?谢谢! 问题答案: Xcode 9•Swift 4或更高版本 编辑/更新:对于iOS10 +,我们可以使用UI

  • 问题内容: 我需要调整PNG,JPEG和GIF文件的大小。如何使用Java做到这一点? 问题答案: 加载图像后,你可以尝试:

  • 问题内容: 所以我想做的是从网址中流式传输图像,用graphicsmagick处理并将其流式传输到s3。我只是不工作。 将处理后的图像流式传输到本地磁盘(使用fs.createWriteStream)可以正常工作。 当我缓冲流时,s3中的最终图像至少具有预期的大小(以kb为单位),但是我无法打开该图像。 那就是我当前的进度: 我确实尝试了一些诸如创建filewritestream和fileread