我在其中一个模型中有一个ImageField,以便用户可以上传图像。当用户提交上传表单时,我想验证相关文件是完全有效且可显示的图像。如何检查上传的文件是否是Django中的有效图像
我尝试使用PIL来验证图像实际上真实的,但使用
from PIL import Image
Image.open(model.file)
Image.verify()
无论我给它虽然什么文件,它总是会抛出异常。
任何人都知道一个简单的方法来验证文件?
我在其中一个模型中有一个ImageField,以便用户可以上传图像。当用户提交上传表单时,我想验证相关文件是完全有效且可显示的图像。如何检查上传的文件是否是Django中的有效图像
我尝试使用PIL来验证图像实际上真实的,但使用
from PIL import Image
Image.open(model.file)
Image.verify()
无论我给它虽然什么文件,它总是会抛出异常。
任何人都知道一个简单的方法来验证文件?
好消息,你不必这样做:
类的ImageField(upload_to =无,height_field =无,width_field =无,MAX_LENGTH = 100,**选项)
继承来自FileField的所有属性和方法,但也验证上传的对象是有效的图像。
https://docs.djangoproject.com/en/1.10/ref/models/fields/#django.db.models.ImageField
此外,你应该使用验证()如下:
from PIL import Image
im = Image.open(model.file)
im.verify()
这是正确的,但它似乎并不全部由自己做到这一点。它要求你在forms.py中设置表单,以便进行验证。 –
您是否通过处理原始发布数据来处理上传? – e4c5
是的。我试图在我设置的视图方法中处理这一切。我使用表单系统以及is_valid()方法进行设置,并像魅力一样工作。 –