[python] Flask-WTF에서 파일 업로드 시 파일 크기 제한을 설정하는 방법은 어떻게 되나요?
먼저, Flask-WTF의 FileField
를 사용하여 파일 업로드 필드를 정의할 수 있습니다. 파일 크기 제한을 설정하려면 필드의 validators
매개변수를 사용하면 됩니다. 다음은 파일 크기를 제한하는 예제 코드입니다:
from flask_wtf import FlaskForm
from flask_wtf.file import FileField, FileAllowed, FileRequired
from wtforms import SubmitField
class UploadForm(FlaskForm):
file = FileField('Upload File', validators=[
FileRequired(), # 파일 필수 여부 검사
FileAllowed(['txt', 'pdf', 'doc'], 'Only txt, pdf, doc files are allowed'), # 허용할 파일 유형 및 확장자 설정
FileSize(max_size=10 * 1024 * 1024) # 최대 파일 크기 설정 (여기서는 10MB)
])
submit = SubmitField('Upload')
위의 코드에서 FileSize
클래스를 정의하여 최대 파일 크기를 지정합니다. max_size
매개변수는 바이트 단위로 파일의 최대 크기를 설정합니다.
또한, FileField
의 FileAllowed
매개변수를 사용하여 허용할 파일 유형을 지정할 수 있습니다. 위의 예제에서는 ‘txt’, ‘pdf’, ‘doc’ 파일만 허용하도록 설정되어 있습니다.
위의 예제 코드를 참고하여 필요한 파일 크기 제한을 설정하면 파일 업로드 시 설정된 크기 제한이 적용될 것입니다.