如何使用 FlaskForm 获取表单中输入文件的 mimetype?
How to get mimetype of the input file in a form using FlaskForm?
我正在尝试使用 flask_wtf 在 Flask 中构建文件上传算法来处理上传表单。
我的问题是如何获取输入文件的 mimetype。
class FileUploadForm(FlaskForm):
file = FileField('File', validators=[DataRequired(), Length(min=1)])
submit = SubmitField('Upload')
@blueprint.route('/upload/', methods=['GET', 'POST'])
def upload():
form = FileUploadForm()
if form.validate_on_submit():
new_file = File(secure_filename(form.file.name),
form.file.read()
mimetype=# HERE I NEED TO PASS THE MIMETYPE)
db.session.add(new_file)
db.session.commit()
flash('File uploaded successfully !', 'success')
return redirect(url_for('view', file_id=new_file.id))
return render_template('files/upload.html', title='Upload Files')
好的,我知道了。
这是供需要它的人使用的代码。
class FileUploadForm(FlaskForm):
file = FileField('Choose File', validators=[FileRequired()])
submit = SubmitField('Upload')
@blueprint.route('/upload/', methods=['GET', 'POST'])
def upload():
form = FileUploadForm()
if form.validate_on_submit():
secure_name = secure_filename(form.file.data.filename)
new_file = File(secure_name, form.file.data.stream.read(),
mime_type=form.file.data.mimetype,
length=form.file.data.stream.tell())
db.session.add(new_file)
db.session.commit()
flash('File uploaded successfully !', 'success')
return redirect(url_for('manager.files.view', file_id=new_file.id))
return render_template('files/upload.html', form=form, title='Upload Files')
我正在尝试使用 flask_wtf 在 Flask 中构建文件上传算法来处理上传表单。 我的问题是如何获取输入文件的 mimetype。
class FileUploadForm(FlaskForm):
file = FileField('File', validators=[DataRequired(), Length(min=1)])
submit = SubmitField('Upload')
@blueprint.route('/upload/', methods=['GET', 'POST'])
def upload():
form = FileUploadForm()
if form.validate_on_submit():
new_file = File(secure_filename(form.file.name),
form.file.read()
mimetype=# HERE I NEED TO PASS THE MIMETYPE)
db.session.add(new_file)
db.session.commit()
flash('File uploaded successfully !', 'success')
return redirect(url_for('view', file_id=new_file.id))
return render_template('files/upload.html', title='Upload Files')
好的,我知道了。 这是供需要它的人使用的代码。
class FileUploadForm(FlaskForm):
file = FileField('Choose File', validators=[FileRequired()])
submit = SubmitField('Upload')
@blueprint.route('/upload/', methods=['GET', 'POST'])
def upload():
form = FileUploadForm()
if form.validate_on_submit():
secure_name = secure_filename(form.file.data.filename)
new_file = File(secure_name, form.file.data.stream.read(),
mime_type=form.file.data.mimetype,
length=form.file.data.stream.tell())
db.session.add(new_file)
db.session.commit()
flash('File uploaded successfully !', 'success')
return redirect(url_for('manager.files.view', file_id=new_file.id))
return render_template('files/upload.html', form=form, title='Upload Files')