Gok*_* NC 6 wtforms flask-wtforms
如何设置 FileSizeLimit 验证flask_wtf.file.FileField?
我们需要添加一个自定义验证器,如下所示:
from wtforms.validators import ValidationError
def FileSizeLimit(max_size_in_mb):
max_bytes = max_size_in_mb*1024*1024
def file_length_check(form, field):
if len(field.data.read()) > max_bytes:
raise ValidationError(f"File size must be less than {max_size_in_mb}MB")
field.data.seek(0)
return file_length_check
Run Code Online (Sandbox Code Playgroud)
然后将验证器传递给文件上传器字段,如下所示:
uploaded_file = FileField('Upload your file', [FileRequired(), FileSizeLimit(max_size_in_mb=2)])
Run Code Online (Sandbox Code Playgroud)
学分:
感谢@yomajo 指出如何在测量文件大小后重置文件流指针。
| 归档时间: |
|
| 查看次数: |
1464 次 |
| 最近记录: |