如何检查上传的文件是否是 Django 中的有效图像

Zac*_*ano 8 django

我的一个模型中有一个 ImageField,以便用户可以上传图像。当用户提交上传表单时,我想验证相关文件是否是完全有效且可显示的图像。

我尝试使用 PIL 来验证图像实际上是真实的,但是使用

from PIL import Image
Image.open(model.file)
Image.verify()
Run Code Online (Sandbox Code Playgroud)

不管我给它什么文件,它总是抛出异常。

有人知道验证文件的简单方法吗?

e4c*_*4c5 9

好消息,你不需要这样做:

类 ImageField(upload_to=None, height_field=None, width_field=None, max_length=100, **options)

从 FileField 继承所有属性和方法,但也验证上传的对象是有效的图像。

https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.ImageField

  • 这是正确的,但它似乎并不能自行完成这一切。它要求您在 forms.py 中设置表单以进行验证。 (2认同)