gpt4 book ai didi

python - Wtforms,多选文件上传

转载 作者:太空狗 更新时间:2023-10-29 22:13:18 24 4
gpt4 key购买 nike

我有一个包含姓名和图片的表格

我的表单:

    name = TextField(
u'name',
validators=[
validators.DataRequired(),
validators.Length(min=1, max=25)
]
)

pictures = FileField(
u'pictures',
validators=[
FileRequired(),
FileAllowed(['jpg', 'png'], 'Images only!')
]
)

Jinja2 模板:

{% from "_form_helpers.tpl" import render_field %}
<form method="post" action="" enctype="multipart/form-data">
<dl>
{{ render_field(form.name) }}
{{ render_field(form.pictures) }}
</dl>
<p>{{ form.submit }}
</form>

我想在单个字段(多选)中上传一张或多张图片。

如何做到这一点?

谢谢..

最佳答案

您需要为输入标签指定多重属性。这可以在您的模板中完成,如下所示:

form.pictures(multiple="")

这将导致您生成的 html 允许选择多个文件:

<input id="pictures" multiple name="pictures" type="file">

如何使用 request.files 操作多个文件:

    images = request.files.getlist("pictures")
if images:
for img in images:
# Create Images
file_name = str(uuid.uuid4()) + secure_filename(img.filename)
image_file = os.path.join(app.config['UPLOAD_FOLDER'], file_name)
img.save(image_file)

# Save record
image = models.Image(record_id=record.record_id,
file_name=file_name.encode('utf-8'))
db.session.add(image)

db.session.commit()

关于python - Wtforms,多选文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23706370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com