作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个包含姓名和图片的表格
我的表单:
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">
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/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!